在 OSMDroid 中,移除弹窗可以使用以下代码:

List<Overlay> overlays = mapView.getOverlays();
List<Overlay> overlaysToRemove = new ArrayList<>();

for (Overlay overlay : overlays) {
    if (overlay instanceof InfoWindow) {
        InfoWindow infoWindow = (InfoWindow) overlay;
        if (!markers.contains(infoWindow.getMarker())) {
            overlaysToRemove.add(overlay);
        }
    }
}

overlays.removeAll(overlaysToRemove);

这种方法避免了使用 lambda 表达式时可能出现的错误。


原文地址: https://www.cveoy.top/t/topic/o3kw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录