Arcenginee中pMarkerElement.Symbol=
时间: 2024-04-03 10:33:36 浏览: 61
这是一行 ArcObjects 的代码,用于设置要素标注的符号。pMarkerElement 是一个 IMarkerElement 接口类型的对象,通过调用它的 Symbol 属性可以设置符号。Symbol 属性需要传入一个 ISymbol 接口类型的对象,用于描述要素标注的符号。具体的符号类型可以通过创建不同的 ISymbol 接口实现类来实现,比如 SimpleMarkerSymbol、PictureMarkerSymbol 等等。
相关问题
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();
这段代码是用来在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. 再次刷新地图控件,以移除已删除的点标记。
需要注意的是,这段代码只是一个简单的示例,如果要在实际应用中使用,还需要进行一些改进和优化,比如添加异常处理、避免线程阻塞等。
Arcenginee中如何给pMarkerElement设置符号
在 ArcObjects 中,可以通过以下代码为 pMarkerElement 设置符号:
```csharp
// 创建 SimpleMarkerSymbol 对象
ISimpleMarkerSymbol simpleMarkerSymbol = new SimpleMarkerSymbolClass();
simpleMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSCircle;
simpleMarkerSymbol.Size = 10;
// 将符号设置给 pMarkerElement
IMarkerElement markerElement = (IMarkerElement)pMarkerElement;
markerElement.Symbol = (ISymbol)simpleMarkerSymbol;
```
在上面的代码中,我们首先创建了一个 SimpleMarkerSymbol 对象,设置了它的样式和大小。然后将它转换成 ISymbol 接口类型,并将其赋值给 pMarkerElement 的 Symbol 属性。这样就可以给 pMarkerElement 设置符号了。
阅读全文