我正在创建一个Android应用程序,需要在地图上设置标记。而且由于我的应用程序需要离线功能,因此我需要使用Osmdroid解决此问题。现在我的问题是地图上的标记,我可以通过使用Markers或ItemizedOverlay轻松添加它们,但是我遇到的问题是我无法从地图上删除标记。
我用于添加标记的代码是以下代码:
Marker marker = new Marker(mapView);
marker.setPosition(new GeoPoint(41.3746312,19.7710733));
marker.setIcon(getResources().getDrawable(R.drawable.marker));
marker.setImage(getResources().getDrawable(R.drawable.marker));
marker.setTitle("Marker");
marker.setInfoWindow(null);
marker.showInfoWindow();
mapView.getOverlays().add(marker);
mapView.invalidate();
但是我在删除它们时遇到问题,因为删除它的唯一方法是:
mapView.getOverlays().clear();
而且我需要删除一个特定的标记,而不是同时删除所有标记。
最佳答案
要删除特定标记,您应该使用:
mapView.getOverlays().remove(overlay);
mapView.invalidate();