只有在单一的情况下,地图标记一旦设置了多个,就不会离开屏幕

时间:2016-05-19 18:02:12

标签: android google-maps

我在Android上使用Google Maps API时遇到问题。我有一个按钮,用于从地图界面中删除所选标记,以及我已设置的SQLite数据库中的相关信息。虽然我唯一的问题是地图上有多个标记,但此功能会停止并且不会删除它们:

下面显示了从地图中删除标记并替换它们的方法。正如我所说,使用单个标记可以很好地完成测试并且我的测试取得了成功,但是多次测试无效。

我有一个onclicklisterner用于显示信息的标记和标记的弹出框,供用户删除标记,他们必须单击标记,将全局变量设置为该对象,然后按下删除按钮调用removeMarker()方法。 getAllMarkers()方法遍历SQLite数据库并提取信息并添加到地图中。

结束问题:在地图上放置多个标记时删除标记不起作用。仅在地图上放置单个标记时才有效。

Marker lastOpened = null;

要从db中删除信息,if语句中的条件会返回一个布尔值(如果已完成):

if(this.mDbHelper.deleteLine(lastOpened.getTitle()))

删除方法

 public void removeMarker(){
        if(this.lastOpened != null){
            if(this.mDbHelper.deleteLine(lastOpened.getTitle())){
                lastOpened.remove();
                getAllMarkers();
            }
        }
    }

由于

1 个答案:

答案 0 :(得分:1)

您可以使用googleMap.clear(),也可以将您的标记存储在一个类似的集合中并将其删除:

private ArrayList<Marker> mMarkers;
...
private void removeMarkers() {
for (Marker marker: mMarkers) {
marker.remove();
}
mMarkers.clear();
}

此处的相关故障单讨论了如何删除标记:Remove a marker from a GoogleMap