package none.areyoualive; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import com.google.android.gms.maps.CameraUpdate; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.Marker; import com.google.android.gms.maps.model.MarkerOptions; import retrofit.Callback; import retrofit.RetrofitError; import retrofit.client.Response; public class MapsActivity extends FragmentActivity implements GoogleMap.OnMapLoadedCallback, GoogleMap.OnMarkerClickListener { SoldierServices ss; private GoogleMap mMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps); ss = ServiceGenerator.createService(SoldierServices.class, this); ss.getSoldiers(new Callback<SoldierResponse>() { @Override public void success(SoldierResponse soldierResponse, Response response) { System.out.println("soldierResponse.soldiers.size() = " + soldierResponse.soldiers.size()); for (int i = 0; i < soldierResponse.soldiers.size(); i++) { MainActivity.longitudes[i] = soldierResponse.soldiers.get(i).Longitude; MainActivity.latitudes[i] = soldierResponse.soldiers.get(i).Latitude; } } @Override public void failure(RetrofitError error) { System.out.println("error = " + error); } }); setUpMapIfNeeded(); } private void setUpMapIfNeeded() { if (mMap == null) { mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)) .getMap(); mMap.setOnMapLoadedCallback(this); mMap.setOnMarkerClickListener(this); } } @Override public void onMapLoaded() { for(int i=0; i<MainActivity.soldierSize; i++) { LatLng location = new LatLng(MainActivity.latitudes[i], MainActivity.longitudes[i]); mMap.addMarker(new MarkerOptions().position(location).title(MainActivity.names[i])); mMap.moveCamera(CameraUpdateFactory.newLatLng(location)); CameraUpdate Location = CameraUpdateFactory.newLatLngZoom(location, 10); mMap.animateCamera(Location); } } @Override public boolean onMarkerClick(Marker marker) { return false; } }