У меня есть приложение googlemap, которое отображает два элемента (itemizedoverlay class), и у меня есть кнопка «Обновить». Когда я нажимаю кнопку обновления, я хочу удалить элементы с карты и снова поставить те же элементы, но с новыми значениями широты и долготы (у меня есть служба, которая реализует поля широты и долготы, которые у меня есть в sharedPreferences, и также я recibe другое положение в комплекте)Как разместить позиции позиций в googlemap?
что я делаю неправильно? когда я пытаюсь мой код, элементы из карты не делает быть удалены .... просто появляются новые элементы ... но я хочу, чтобы удалить старые
updateButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mapOverlays.clear();
updateMyPosition();
updateFriendPosition();
}
});
и это мои две функции:
private void updateFriendPosition()
{
Bundle bundle = this.getIntent().getExtras();//get the intent & bundle passed by X
userText.setText(bundle.getString("user"));
permissionText.setText(bundle.getString("permission"));
lastUpdateText.setText(bundle.getString("lastupdate"));
String coordinates[] = {bundle.getString("lat"), bundle.getString("lon")};
lat = Double.parseDouble(coordinates[0]);
lng = Double.parseDouble(coordinates[1]);
p = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));
OverlayItem overlayitem1 = new OverlayItem(p, bundle.getString("user"), "Hi Friend!");
itemizedoverlay.addOverlay(overlayitem1);
mapOverlays.add(itemizedoverlay);// dibujo la estrella con la posicion actual del friend
mc.animateTo(p); ///nos centra el mapa en la posicion donde esta nuestro amigo
mc.setZoom(10); /// ajusta el zoom a 10
}
private void updateMyPosition()
{
String coordinates[] = {settings.getString("mylatitude", null),settings.getString("mylongitude", null)};
lat = Double.parseDouble(coordinates[0]);
lng = Double.parseDouble(coordinates[1]);
p = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));
OverlayItem overlayitem1 = new OverlayItem(p, "Me", "My Position");
itemizedoverlay2.addOverlay(overlayitem1);
mapOverlays.add(itemizedoverlay2);//dibujo mi icono para mostrarme a mi
}
я также судимый с Invalidate() на MapView, но это не работает ... до сих пор рисуют старые детали ...
спасибо! хе-хе, возможно, вы тоже можете мне помочь с этим вопросом? http://stackoverflow.com/questions/4216231/how-to-actual-the-positions-of-the-items-in-a-googlemap – NullPointerException
Рад, что сработало. Ваша ссылка на ваш другой вопрос указывает на это! – NickT
О, извините, проверьте это: http://stackoverflow.com/questions/4217090/why-this-thread-doesnt-work – NullPointerException