IMarkerElement pMarkerElement = new MarkerElement() as IMarkerElement; ISimpleMarkerSymbol pSimpleMarkerSymbol = new SimpleMarkerSymbol(); pMarkerElement.Symbol = pSimpleMarkerSymbol;//圆形 IElement pElement = pMarkerElement as IElement; pElement.Geometry = curPoint; // 绘制点 IActiveView pActiveView = axMapControl1.ActiveView; IGraphicsContainer pGraphicsContainer = pActiveView.GraphicsContainer; pGraphicsContainer.AddElement(pElement, 0); axMapControl1.Refresh(); System.Threading.Thread.Sleep(50); pGraphicsContainer.DeleteElement(pElement); axMapControl1.Refresh();
时间: 2024-02-10 13:19:28 浏览: 84
AE+C#开发鼠标拖动画点
4星 · 用户满意度95%
这段代码是用来在ArcGIS地图控件中绘制一个圆形点标记,并在50毫秒后删除该点标记。具体地:
1. 创建一个MarkerElement对象pMarkerElement,并将其转换为IMarkerElement接口类型;
2. 创建一个SimpleMarkerSymbol对象pSimpleMarkerSymbol,用于定义点标记的样式;
3. 将pSimpleMarkerSymbol设置为pMarkerElement的符号(即样式);
4. 创建一个Element对象pElement,并将其转换为IElement接口类型;
5. 将pElement的Geometry(几何形状)设置为curPoint(一个IPoint类型的对象,表示点标记的位置);
6. 获取当前地图控件的ActiveView(即当前视图),并获取其GraphicsContainer(图形容器);
7. 将pElement添加到pGraphicsContainer中,并将其放置在容器中的第0个位置(即最下面);
8. 刷新地图控件,以显示新的点标记;
9. 等待50毫秒;
10. 从pGraphicsContainer中删除pElement;
11. 再次刷新地图控件,以移除已删除的点标记。
需要注意的是,这段代码只是一个简单的示例,如果要在实际应用中使用,还需要进行一些改进和优化,比如添加异常处理、避免线程阻塞等。
阅读全文