Как обновить карту Google.

Привет, ребята, это мой код.

Я могу обновить карту Google по нажатию кнопки «Обновить», но она показывает мне старые координаты, и в некоторой области это показывает прямоугольное изображение с изображением креста в нем .. Поэтому, ребята, пожалуйста, дайте мне знать, где ошибка или какая модификация я должен сделать в этом.

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>

}

Ответы на вопрос(1)

Решение Вопроса

Я использую его следующим образом, и он работает правильно для меня. Вероятно, вы недmap.invalidate() вызов.

protected void RefreshMap() {
  map.getOverlays().clear();
  map.invalidate();

  ... create itemizedOverlay

  map.getOverlays().add(itemizedOverlay);
  map.invalidate();
  map.getController().animateTo(point);
}
 18 июл. 2013 г., 16:25
map.invalidate () не существует в API Карт V2.
 20 нояб. 2013 г., 08:22
@ Блехи Можете ли вы предоставить правильный код .. ?? :(
 20 нояб. 2013 г., 08:22
@Blehi Можете ли вы рассказать подробнее .. Я хотел бы обновить свою карту ... что мне написать в & quot; ... create itemizedOverlay & quot;
 25 нояб. 2013 г., 11:19
developers.google.com/maps/documentation/android/v1/… Это хороший учебник, но приведенный выше код довольно старый. Теперь есть Google Maps V2. V1 устарела. Пожалуйста, рассмотрите возможность использования вместо этого.

Ваш ответ на вопрос