ArcGIS enginee 编写代码删除已经在axMapControl上进行过绘制的点
时间: 2024-03-25 18:36:03 浏览: 152
点是否在图层对应的多边形内.txt
要删除已经在`axMapControl`上进行过绘制的点,您需要使用`IActiveView`对象来刷新地图,并使用`IGraphicsContainer`对象来删除图形元素。
以下是一些代码示例,它可以删除当前地图上用鼠标单击添加的点:
```vb
Private Sub DeleteLastPoint()
Dim graphicsContainer As IGraphicsContainer
Set graphicsContainer = axMapControl.ActiveView.GraphicsContainer
'获取最后一个添加的图形元素
Dim lastElement As IElement
Set lastElement = graphicsContainer.Element(graphicsContainer.ElementCount - 1)
'如果最后一个图形元素是要删除的点
If TypeOf lastElement.Geometry Is IPoint Then
graphicsContainer.DeleteElement lastElement
axMapControl.ActiveView.PartialRefresh esriViewGraphics, Nothing, Nothing
End If
End Sub
```
这段代码将最后一个添加的图形元素与IPoint接口进行比较,如果是IPoint类型,则将其从`IGraphicsContainer`中删除,并使用`IActiveView.PartialRefresh`方法刷新地图。
您可以根据您的需求修改代码,以删除指定的图形元素或更改图形元素的类型。
阅读全文