1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
| public class MapsActivity extends FragmentActivity implements LocationListener {
LoginTask loginTask;
Marker markers ;
MarkerOptions marker;
private ProgressDialog progressDialog;
private GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
Map();
SupportMapFragment mf=(SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mMap = mf.getMap();
mMap.setMyLocationEnabled(true);
mMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
//addTwitterMap();
//addTwitterMap1();
setUpMapIfNeeded();
}
private void setUpMapIfNeeded() {
// Do a null check to confirm that we have not already instantiated the map.
if (mMap == null) {
// Try to obtain the map from the SupportMapFragment.
mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
.getMap();
// Check if we were successful in obtaining the map.
if (mMap != null) {
//setUpMap();
}
}
}
@Override
protected void onResume() {
super.onResume();
setUpMapIfNeeded();
}
public void Map() {
if (loginTask != null
&& loginTask.getStatus() != LoginTask.Status.FINISHED) {
loginTask.cancel(true);
}
loginTask = (LoginTask) new LoginTask()
.execute(0);
}
@Override
public void onLocationChanged(Location location) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
class LoginTask extends
AsyncTask<Integer, Integer, Integer> {
List<Exception> exceptions = new ArrayList<Exception>();
@Override
protected void onPreExecute() {
progressDialog = new ProgressDialog(MapsActivity.this);
progressDialog.setMessage(getResources()
.getString(R.string.working));
progressDialog.show();
super.onPreExecute();
}
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
}
@Override
protected Integer doInBackground(Integer... requests) {
try {
ObjectMapper mapper = new ObjectMapper();
HttpGet request = new HttpGet(ApplicationProperties.getInstance().getServiceUrl()
+ "/service/dab");
HttpResponse response = new DefaultHttpClient().execute(request);
List<Dab> dabList = mapper.readValue(Utils.stringFromInputStream(response.getEntity().getContent()),
mapper.getTypeFactory().constructCollectionType(List.class, Dab.class));
for (Dab dab:dabList) {
markers = mMap.addMarker(new MarkerOptions()
.position(new LatLng(dab.getLatitude(), dab.getLongitude()))
.position(new LatLng(dab.getLatitude(), dab.getLongitude()))
.title(dab.getAdresse())
.snippet(dab.getAdresse())
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)));
}
} catch (Exception e) {
exceptions.add(e);
}
return 0;
}
@Override
protected void onPostExecute(Integer result) {
progressDialog.dismiss();
if (exceptions.size() > 0) {
mMap.addMarker(marker);
} |
Partager