自firebase删除后删除标记

时间:2018-06-14 16:55:41

标签: android google-maps firebase-realtime-database marker

我是Android新手,我遵循了本教程: https://codelabs.developers.google.com/codelabs/realtime-asset-tracking/index.html#0

用于实时跟踪,好吧,我的问题是如何在firebase中删除标记时从地图中删除标记,代码如下:

{{1}}

使这项工作的正确方法是什么? 提前谢谢!

1 个答案:

答案 0 :(得分:1)

removeMarker()方法中,将代码更改为:

if (mMarkers.containsKey(key)) {
    Marker marker = mMarkers.remove(key);
    if(marker != null){
        marker.remove();
    }
}

我假设mMarkersHashMap。在这种情况下,使用remove(key)删除条目会从HashMap中删除条目并返回Marker(如果不存在,则返回null)。然后只需使用标记的remove方法将其从地图中删除。

您的代码的另一个问题是检查HashMap是否不包含。所以代码可能不会执行。

编辑

您可能会将mMarker HashMapMarker的{​​{1}}混淆。 " mMarker"编码并不是一个好名字 - 因为它不是很明显。您应该将其更改为更明显的内容,例如" mMarkerMap"。