C# 数据库中保存着一系列线的端点X、Y坐标,怎么把这些线在ArcMapcontrol中显示出来?

2025-06-27 06:02:15
推荐回答(3个)
回答1:

AxMapControl画线是用ILineElement做的,具体代码是这样子:

IGeometry polyline = axMapControl1.TrackLine(); 
ILineElement pLineElement = new LineElementClass(); 
IElement pElement = pLineElement as IElement; 
pElement.Geometry = polyline; 
pGraphicsContainer = pMap as IGraphicsContainer; 
pGraphicsContainer.AddElement((IElement)pLineElement, 0); 
pActiveView.Refresh();

参考资料:

http://wenku.baidu.com/link?url=ZVn_JEALwgkbrAFtnWKYF4AR8LzSybSwocqeiLYn-wHQsLetqu8jCJuSmuCY-4Fm_lgTHtCP2P3JmJnB70JnEfq2SVrxkufjPhK1FJuhwq7

回答2:

如果你是用2005直接在控件上就有一个三角型可以直接点击停靠,否则还可以用控件的Anchor属性 你先把你需要停靠的控件大小设置好 然后把此属性的4个方向全都选择上 那样就能同样实现停靠了

回答3:

在使用GEF(图形编辑框架)开发建模工具时,比如利用GEF实现程序流程图建模功能,有时对连线的路由方式会有比较高的要求,比如连线自动采用直角布局,要能够智能地避障并绕开模型,选择最佳路径进行布线。在建模类工具中,Microsoft Visio基本流程图中的连线的智能效果做的是同类工具中最好的,起码作者感觉如此。
这篇博客就介绍如何在GEF中为连线实现类似Visio中的智能效果。当然,本文以GEF为背景和实例进行介绍,文中的路由算法和思想同样可以应用于其他有类似需求的应用,在此不做赘述。