阅读:2506回复:4
象ARCMAP中的捕捉一样的功能,怎么开发?
小弟正在做一个地图编辑的小软件,但不知道怎么做出象ARCMAP里的SNAPPING一样的功能。请高手指教!
|
|
1楼#
发布于:2004-05-11 14:52
你是做底层的开发吗?如果单是实现snapping功能并不是很难啊,只需要使用些windows api来模拟些动画效果,
|
|
|
2楼#
发布于:2004-05-11 16:32
我是用MAPCONTROL在二次开发
|
|
3楼#
发布于:2004-05-14 13:45
<P>我可以提供你一下思路:</P><P>当你鼠标在mapcontrol控件移动时(也就是在OnMouseMove事件中),你以鼠标的位置(X,Y值)为中心创建一个圆(这个圆是虚拟的,运行时看不见的),通过这个圆在地图上做一个空间查询,这样就返回了在圆之内的要素了。</P><P>之后,你把所有的要素组成一个整体(以就是用Union方法),这样你就可以利用方法可以返回离你鼠标位置最近的点了。</P><P>这样你可以去画那个电。或者用一个控件去做这个效果。这就跟个人爱好有关了。</P><P>具体用到的接口有:</P><P>对于线捕捉:</P><P>iPolyLine,IProximityOperator,IConstructCircularArc,iFeatureLayer,ITopologicalOperator,</P><P>基本就这么多,可能还有别的接口,这就跟你编成方法有关了。</P><P>不行的话我可以给你源代码。</P>
|
|
4楼#
发布于:2004-05-17 10:50
我现在用的就是这个方法,我还加了一个,就是添加一个点的Element,鼠标移动的时候这个点也跟着移动,但是很慢,有什么方法可以快一点?
|
|