【发布时间】:2016-12-16 17:28:11
【问题描述】:
我有一张地图,您可以从中选择多种地图类型(默认 Google 地图图块(在线)、OSM 图块(离线)、我的其他自定义地图(离线))。
我在地图上也有 394 个标记(但这只是一个小镇的小地图……不重要)
问题是,可以在谷歌地图类型之间进行更改,因为它有它的功能,无需清除地图并重新创建和插入标记。
但是,如果我选择例如 OSM 地图图块,它们会像叠加一样添加,所以当我想将它们更改为另一张地图(包括 Google 地图)时,我必须调用 mMap.clear() 然后添加所有标记和不同的地图图块或更改谷歌地图的类型。
我知道可以通过将特定标记保存在变量中然后对其调用 remove() 来删除它。地图叠加层有类似的东西吗?
我像这样添加地图图块叠加层:
mMap.addTileOverlay(new TileOverlayOptions().tileProvider(new CustomMapTileProvider(m_context,MAP_TYPE_OSM)));
【问题讨论】:
-
没关系,我在写这个问题的时候就发现了。像使用标记一样解决它。创建了 TileOverlay 变量,我可以在其中保存 TileOverlay,然后在其上调用 remove(),就像标记一样。我不知道我怎么会错过。
-
谢谢@(Zdeněk Braun),我也错过了这个简单的解决方案。我建议您对自己的问题发布常规答案,并将其选择为“已接受的答案”,这样您将受益于声誉。