在地图上添加点和线的时候,我们有时候会遇到要移除或者切换指定的点和线的操作。那么如何移除指定的点和线呢?
ArcGIS的api里点和线都是由GraphicsOverlay
类来进行创建添加的。通过Graphic
对象将点或者线的图形对象(SimpleMarkerSymbol,SimpleLineSymbol
)封装起来,然后放入GraphicsOverlay.getGraphics()
的集合之中去。最后通过mMapView.getGraphicsOverlays().add(pointGraphicOverlay)
渲染到地图上去。至此我们明白了点和线的添加过程。既然都是通过mMapView.getGraphicsOverlays()
来添加add
,那么应该也有移除的方法。所以我们可以通过mMapView.getGraphicsOverlays().removeAll()
来进行移除操作(移除GraphicsOverlay
集合,因为通常情况下都是多个点或者线)。
具体操作如下:
1.创建一个全局的overlays集合,用于存放要移除的点或者线GraphicsOverlay对象。
List<GraphicsOverlay> overlays;//用于存放GraphicsOverlay的list
2.每次画完点或者线的时候,将GraphicsOverlay存在overlays。
overlays.add(pointGraphicOverlay);
3.在需要移除点或者线的方法里进行移除操作。
//移除操作
mMapView.getGraphicsOverlays().removeAll(overlays);
至此移除操作就完成了。