Существует еще один способ добавления и удаления элементов.
Сначала вам понадобится этот фрагмент:
ArrayList<OverlayItem> items = items = new ArrayList<OverlayItem>();
ItemizedOverlayWithFocus<OverlayItem> mOverlay = mOverlay = new ItemizedOverlayWithFocus<OverlayItem>(items,
new ItemizedIconOverlay.OnItemGestureListener<OverlayItem>() {
@Override
public boolean onItemSingleTapUp(final int position, final OverlayItem item) {
//do something
return true;
}
@Override
public boolean onItemLongPress(final int position, final OverlayItem item) {
return false;
}
}, getApplicationContext());
mOverlay.setFocusItemsOnTap(true);
, чтобы добавить элементы перед запуском приложения, используйте этот код:
mOverlay.addItem(new OverlayItem("Title", "Description", new
GeoPoint(31.7359474,55.4384632)));
map.getOverlays().add(mOverlay);
во время работы приложения вы можете добавить больше элементов с кодом ниже:
mOverlay.addItem(new OverlayItem("new Title", "new Description", new GeoPoint(Latitude,Longitude)));
удаление элементов во время работы приложения с кодом ниже:
mOverlay.removeItem(int position);
position
- это n-й элемент, который вы добавили в список. Вы можете поместить код удаления в onItemSingleTapUp
, который мы используем в этом ответе, это означает, что при нажатии на элемент он будет удален с экрана.