Android应用中删除指定Map Marker且保留其他标记的方法
解决方案
你提到的marker.remove()确实是正确的方法,它会彻底从地图上移除对应标记,且不会影响地图上其他未被管理的标记。要实现需求,需要先遍历selectedMarkers集合,逐个调用每个Marker的remove()方法,再清空集合即可。
完整代码示例
// 遍历集合,逐个移除地图上的标记 for (Marker marker : selectedMarkers) { marker.remove(); } // 清空本地集合 selectedMarkers.clear();
补充说明
marker.remove()会直接与Google Maps SDK交互,将标记从地图视图中删除,同时SDK内部也会清理相关资源。- 如果你需要删除集合中某个特定标记(比如根据Tag匹配),可以这样做:
Iterator<Marker> iterator = selectedMarkers.iterator(); while (iterator.hasNext()) { Marker marker = iterator.next(); if (ID_NUM.equals(marker.getTag())) { // 替换为你的匹配逻辑 marker.remove(); iterator.remove(); // 从集合中删除该元素 } }
这里使用迭代器是为了避免遍历集合时修改集合引发的并发修改异常。
内容的提问来源于stack exchange,提问作者EventHorizon
相关产品推荐
相关产品推荐

