1

您可以在 Android 上使用新的 V2 Google 地图 API 简单地添加标记。因为标记是在配置更改或保存实例时重新创建的,所以您必须通过其 ID 引用它们。问题是如何从具有特定 ID 的地图标记中删除?

我的用例是将标记添加到地图中,将其 id 与真实对象的映射一起存储。然后用户删除了其中一个真实对象,因此我找到了 Marker id 并想从地图中删除 Marker,我知道的唯一方法是拥有 Marker 对象并在其上调用 remove()。

4

3 回答 3

2

关于在配置更改上重新创建标记的文档是错误的,它实际上对我们有好处,但那里是错误的。

于 2013-03-25T12:01:49.827 回答
1

我在进行地图聚类时也遇到过类似的情况,我需要在将标记添加到群集时将其删除。

我使用的解决方案是,在创建标记并将其添加到地图中并将标记存储在Map (String - Marker)中时,我持有对标记的引用,其中 key(String) 将是自动生成的标记 id,值将是标记对象。

现在,您可以通过其 id 获取对标记对象的引用并在该标记上调用remove()

我希望这对你有帮助。

于 2013-02-28T17:01:34.810 回答
0

只需尝试以下操作:

private Marker myMarker;

myMarker = getMap().addMarker(new MarkerOptions()
                    .position(latLng)
                    .title("My Spot")
                    .snippet("This is my spot!"));

现在您要删除的标记可以调用

myMarker.remove();
于 2013-02-28T15:25:51.693 回答