You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 05:27:06