我的问题如下。
我正在创建多个逐项列表叠加层。 (因为每个叠加层都有不同的绘图) 我自定义了逐项覆盖类,但是当我将它添加到mapview覆盖时,该类将转换为覆盖类。 更糟糕的是我有3个类在同一个地图上创建叠加层。每个类代表地图上的一个项目,背后有自己的智慧。
我现在的问题是我想要删除叠加层,但我无法确定我插入的索引,也是我尝试删除它时的索引。 (其他类可能在平均时间内插入了叠加层)
这些类是自我更新的,所以我不想要一个从主类触发更新或删除事件的解决方案。 (重点是要添加一个类而忘记它)
所以我的问题是:我怎样才能确定哪个层是什么时候我想在该层上调用remove。我认为这些信息是可用的,但我不知道该怎么做。 这是我用来添加叠加层的代码
OverlayItem overlayitem = new OverlayItem(p,myNaam ,myOmschrijving );
LocationOverlay = new MyLocationOverlay(drawable, myContext);
LocationOverlay.SetLocation(i,overlayitem);
myOverlays.add(LocationOverlay);
答案 0 :(得分:0)
您不必删除特定图层。您可以删除其引用指定的叠加层(例如 myOverlay )。
LocationOverlay myOverlay = new MyLocationOverlay(drawable, myContext); //you forgot the name of variable
mapView.getOverlays().remove(myOverlay);
答案 1 :(得分:0)
您可以将某个整数设置为每个叠加层的位置 类似的东西:
mapView.getOverlays().add(0,myScaleBarOverlay);
当你想要删除此电话时:
mapView.getOverlays().remove(0);
mapView.invalidate();
方面