Osmdroid 地图库中移除弹窗覆盖物
使用的osmdroid地图库中没有'MapOverlayManager'和'overlayManager.getOverlays()'方法。根据osmdroid的文档,可以使用'ItemizedIconOverlay'类来管理覆盖物,并使用'overlayItems'属性获取所有的覆盖物。
下面是优化后的代码:
ItemizedIconOverlay<OverlayItem> overlay = (ItemizedIconOverlay<OverlayItem>) mapView.getOverlayManager().get(0);
List<OverlayItem> overlays = overlay.getItems();
// 遍历所有的覆盖物
for (OverlayItem overlayItem : overlays) {
// 判断是否为弹窗覆盖物
if (overlayItem instanceof InfoWindow) {
// 移除弹窗覆盖物
overlay.remove(overlayItem);
}
}
注意:上面的代码假设地图上的第一个覆盖物是'ItemizedIconOverlay'类型的。如果不是,请根据实际情况调整代码。
原文地址: https://www.cveoy.top/t/topic/o27f 著作权归作者所有。请勿转载和采集!