我正在创建一个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();

10-07 19:08
查看更多