0

我的问题如下。

我正在创建多个逐项叠加。(因为每个覆盖都有不同的可绘制对象)我自定义了逐项覆盖类,但是当我将它添加到地图视图覆盖时,该类被转换为覆盖类。更糟糕的是,我有 3 个班级在同一张地图上创建叠加层。每个类都代表地图上的一个项目,其背后有自己的智能。

我现在遇到的问题是我想删除覆盖,但我不能确定我插入它的索引也是我尝试删除它时的索引。(其他类可能同时插入了一个覆盖)

这些类是自我更新的,所以我不想要一个从主类触发更新或删除事件的解决方案。(重点是添加一个类并忘记它)

所以我的问题是:当我想在该层上调用删除时,如何确定哪一层是哪一层。我认为信息是可用的,但我不知道如何获得它。这是我用来添加叠加层的代码

 OverlayItem overlayitem = new OverlayItem(p,myNaam ,myOmschrijving );

    LocationOverlay = new MyLocationOverlay(drawable, myContext);

    LocationOverlay.SetLocation(i,overlayitem);

    myOverlays.add(LocationOverlay);
4

2 回答 2

0

您不必删除特定图层。您可以删除由其引用指定的覆盖(例如myOverlay)。

LocationOverlay myOverlay = new MyLocationOverlay(drawable, myContext); //you forgot the name of variable

mapView.getOverlays().remove(myOverlay);

于 2012-06-06T08:06:58.253 回答
0

您可以将某个整数设置为每个叠加层的位置,如下所示:

mapView.getOverlays().add(0,myScaleBarOverlay);

当你想要 ro 删除这个调用时:

mapView.getOverlays().remove(0);
mapView.invalidate();

看待

于 2017-04-08T07:57:57.860 回答