我是Android新手,我遵循了本教程: https://codelabs.developers.google.com/codelabs/realtime-asset-tracking/index.html#0
用于实时跟踪,好吧,我的问题是如何在firebase中删除标记时从地图中删除标记,代码如下:
{{1}}
使这项工作的正确方法是什么? 提前谢谢!
答案 0 :(得分:1)
在removeMarker()
方法中,将代码更改为:
if (mMarkers.containsKey(key)) {
Marker marker = mMarkers.remove(key);
if(marker != null){
marker.remove();
}
}
我假设mMarkers
是HashMap
。在这种情况下,使用remove(key)
删除条目会从HashMap
中删除条目并返回Marker
(如果不存在,则返回null)。然后只需使用标记的remove
方法将其从地图中删除。
您的代码的另一个问题是检查HashMap
是否不包含键。所以代码可能不会执行。
编辑
您可能会将mMarker
HashMap
与Marker
的{{1}}混淆。 " mMarker"编码并不是一个好名字 - 因为它不是很明显。您应该将其更改为更明显的内容,例如" mMarkerMap"。