Cómo actualizar el mapa de Google.

Hola chicos este es mi código.

Soy capaz de 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 del rectángulo con una imagen en cruz en ella. tengo que hacer en ello

public class GmapActivity extends MapActivity {Mapview map;Button btnrefresh;Button btnbacktolist; int chargenumber=0;

<code>/** 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;
}
</code>

}

Respuestas a la pregunta(1)

Su respuesta a la pregunta