我将叠加层添加到 osmdroid 地图视图,索引如下:
kmzOverlay.setName(fileName);
kmzFolderOverlay.add(kmzOverlay);
mapView.getOverlays().add(kmzId,kmzOverlay);
mapView.invalidate();
现在当我想用这段代码删除覆盖时:
mapView.getOverlays().remove(index);
mapView.invalidate();
叠加层未从地图视图中删除。
我该如何解决这个问题?
从 osmdroid MapView 删除叠加层时,请确保您使用要删除的叠加层的正确索引。索引应与叠加列表中叠加的位置相匹配。
所以我认为这应该有效:
mapView.getOverlays().remove(kmzId);
mapView.invalidate();
通过直接使用
kmzId
而不是单独的索引变量,您可以准确地定位要删除的覆盖层。确保 kmzId
对应于您要删除的正确覆盖层。