在 OSMDroid 中,要移除弹窗,可以使用 'MapOverlay.remove(Overlay overlay)' 方法。但是如果你想要移除的是一个 'InfoWindow' 对象,你需要先判断它是否是 'InfoWindow' 的实例,然后再调用 'MapOverlay.remove(Overlay overlay)' 方法。

你可能会遇到一个错误,报告说 'InfoWindow cannot be resolved to a type'。这是因为 'InfoWindow' 类位于 'osmdroid.views.overlay.infowindow' 包中,所以你需要确保正确导入了这个类。

在你的代码中添加以下导入语句:

import org.osmdroid.views.overlay.infowindow.InfoWindow;

然后在你的移除弹窗的代码中进行类型检查和移除操作,如下所示:

if (overlay instanceof InfoWindow) {
    mapOverlay.remove(overlay);
}

这样就可以避免报错,成功移除弹窗对象了。


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

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