我正在创建一个 Android 应用程序,我需要在 map 上设置标记。由于我的应用程序需要离线功能,我需要使用 Osmdroid 来解决这个问题。现在我的问题是 map 上的标记,我可以使用标记或 ItemizedOverlay 轻松添加它们,但我遇到的问题是我无法从 map 上删除标记。
我用于添加标记的代码是这样的:
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();
关于java - 如何从 Osmdroid map 上删除标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54574152/