Arcenginee绘制多个点
时间: 2023-09-08 21:09:58 浏览: 83
在 ArcEngine 中,可以使用 GraphicsContainer 来绘制多个点。
以下是一个简单的示例代码,假设有一个名为 mapControl 的 AxMapControl 控件:
```c#
// 获取当前地图的 GraphicsContainer
IGraphicsContainer graphicsContainer = mapControl.ActiveView.GraphicsContainer;
// 创建一个新的 Element 要素
IElement element = new MarkerElementClass();
// 定义 MarkerSymbol 样式,例如使用红色的圆点作为标记
IMarkerSymbol markerSymbol = new SimpleMarkerSymbolClass();
markerSymbol.Color = GetRGBColor(255, 0, 0);
markerSymbol.Size = 5;
((IMarkerElement)element).Symbol = markerSymbol;
// 定义点坐标
IPoint point1 = new PointClass();
point1.PutCoords(100, 100);
IPoint point2 = new PointClass();
point2.PutCoords(200, 200);
IPoint point3 = new PointClass();
point3.PutCoords(300, 300);
// 将点坐标加入 Element 要素
((IMarkerElement)element).Geometry = point1;
graphicsContainer.AddElement(element, 0);
((IMarkerElement)element).Geometry = point2;
graphicsContainer.AddElement(element, 0);
((IMarkerElement)element).Geometry = point3;
graphicsContainer.AddElement(element, 0);
// 刷新地图视图
mapControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
```
在上述示例代码中,我们首先获取到当前地图的 GraphicsContainer,然后创建一个 MarkerElementClass 实例,定义 MarkerSymbol 样式并设置点坐标,最后将 Element 要素加入 GraphicsContainer 中并刷新地图视图。
需要注意的是,这里使用了 AddElement 方法将 Element 要素加入 GraphicsContainer 中,第二个参数为 ZOrder,表示 Element 要素的绘制顺序,0 表示最底层,数字越大表示越靠上层。
阅读全文