如何使用Google Maps V2删除单个标记?

80

清除地图标记的唯一方法是clear。但它会清除地图上的所有标记。

我想仅删除单个标记或一组标记。

我该如何实现这个目标?


可能是这样的:marker.setMap(null); - shorif2000
无需选择单个标记,再次使地图无效。 - Yahor10
3
API v2 中没有invalidate方法。 - Alexey Zakharov
3个回答

211

添加标记后,可以获取其引用:

Marker marker = map.addMarker(..);

Marker 类有一个 remove 方法:


32
在我的情况下,marker.remove() 不起作用 :( - Muhammad Babar

19

我遇到了同样的问题,所以为了解决它,我正在执行

mMap = super.getMap();
map.clear();

47
这将移除地图上所有叠加层,而不仅仅是单个标记,正如问题所指定的那样。根据文档中的描述:public final void clear () 从地图上删除所有标记、折线、多边形、叠加层等。链接 - clauziere
1
也许简洁明了,但并不是正确答案。正确答案在上面。Marker.remove()。 - Cocorico
1
它从来都不是正确的答案。它只是移除所有标记,而不是一个特定的标记。 - Tom

15

我撰写了一篇关于如何在地图上移动标记时删除它们并在它们再次出现在屏幕上时将其添加回去的博客文章。如果您试图同时向GoogleMap添加数千个标记,但不希望性能受到太大影响,则此方法非常有用。它使用了您详细介绍的相同方法(对标记调用remove())。

使用 Google 地图 Android API V2 在屏幕上隐藏和显示标记


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接