Hola chicos este es mi código.Cómo actualizar el mapa de Google.
Puedo actualizar el mapa de Google al hacer clic en el botón de actualización, pero me muestra las coordenadas anteriores y en alguna área se muestra la imagen rectangular con una imagen cruzada. Por favor, háganme saber dónde está el error o qué modificación tengo que hacer en él.
public class GmapActivity extends MapActivity {Mapview map;Button btnrefresh;Button btnbacktolist; int chargenumber=0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.gmapactivity);
final Bundle bundle = this.getIntent().getExtras();
chargenumber = bundle.getInt("ChargeNumber");
int latitude = bundle.getInt("latitude");
int longitude = bundle.getInt("longitute");
CreateMap(latitude, longitude);
btnrefresh = (Button) findViewById(R.id.btnReload);
btnrefresh.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
RefreshMap();
}
});
btnbacktolist = (Button) findViewById(R.id.btnBack);
btnbacktolist.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
BacktoScheduleList(bundle);
}
});
}
protected void BacktoScheduleList(Bundle bundle) {
ProgressDialog progressDialog = ProgressDialog.show(this, "",
"Please wait...", true);
bundle = this.getIntent().getExtras();
Bundle Newbundle = new Bundle();
Newbundle.putString("userid", bundle.getString("userid").trim());
Newbundle.putString("username", bundle.getString("username").trim());
Intent intent = new Intent(this, Ok.class);
intent.putExtras(bundle);
startActivityForResult(intent, 0);
progressDialog.dismiss();
finish();
}
private void CreateMap(int latitude, int longitude) {
map = (MapView) findViewById(R.id.mvView);
map.setBuiltInZoomControls(true);
map.setStreetView(true);
List<Overlay> mapOverlays = map.getOverlays();
Drawable drawable = this.getResources().getDrawable(
R.drawable.school_bus);
MOverlayItems itemizedOverlay = new MOverlayItems(drawable, this);
GeoPoint point = null;
point = new GeoPoint(latitude, longitude);
OverlayItem overlayitem = new OverlayItem(point, null, null);
itemizedOverlay.addOverlay(overlayitem);
mapOverlays.add(itemizedOverlay);
MapController mapController = map.getController();
mapController.animateTo(point);
mapController.setZoom(12);
}
protected void RefreshMap() {
map.getOverlays().clear();
map.clearAnimation();
WebServiceCaller webservicecaller = new WebServiceCaller();
String result = webservicecaller.GetLatLong(chargenumber);
if (result.toString().equalsIgnoreCase("false")) {
} else {
StringTokenizer tokens = new StringTokenizer(result, ",");
int latitude = Integer.parseInt(tokens.nextToken());
int longitude = Integer.parseInt(tokens.nextToken());
ProgressDialog progressDialog = ProgressDialog.show(this, "",
"Refreshing. Please wait...", true);
CreateMap(latitude, longitude);
progressDialog.dismiss();
}
}
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
map.invalidate() no existe en Maps API V2. – AndroidDev
@Blehi ¿Puedes por favor elaborar más ... quería actualizar mi mapa ... qué debería escribir en "... create itemizedOverlay" –
@Blehi ¿Puedes proporcionar un código adecuado? :( –