|
阅读:2341回复:6
[求助]选取要素
怎样实现鼠标点击选取要素啊,哪位高手做过帮帮忙呀.
|
|
|
1楼#
发布于:2006-09-26 10:05
<P>鼠标点击事件下可获得该鼠标的(IPoint),做一个buffer分析(ItopologicalOperator),得到一个Geometry, 跟目标需要查询的层进行空间查询(ISpatialFilter),得出查询的结果。</P>
<P>给你说思路并给你所用到的接口,这样对你的学习比给你一份源码要好得多!</P> [此贴子已经被作者于2006-9-28 9:14:48编辑过]
|
|
|
|
2楼#
发布于:2006-09-26 14:18
<P>是用IQueryFilter而不是ISpatialFilter吗?</P>
|
|
|
3楼#
发布于:2006-09-30 14:47
我也碰到同样的问题, 如果在ArcScene里怎么将屏幕坐标转成地图坐标呢,不转能选取吗?
|
|
|
4楼#
发布于:2006-09-30 16:46
<P>这个不需要自己写了吧,做好的怎么不利用啊!!!</P>
<P> IActiveViewPtr view = m_wndMapCtrl.GetActiveView();<BR> IScreenDisplayPtr screen;<BR> view->get_ScreenDisplay(;screen);</P> <P> IMapPtr map = m_wndMapCtrl.GetMap();<BR> IIdentifyDialogPtr dlg(CLSID_IdentifyDialog);<BR> dlg->ClearLayers();<BR> dlg->putref_Map(map);<BR> dlg->putref_Display(screen);<BR> dlg->AddLayerIdentifyPoint((ILayerPtr)m_wndMapCtrl.GetLayer(0), x, y);<BR> dlg->Show();</P> |
|
|
|
5楼#
发布于:2006-10-01 02:47
<P>ITopologicalOperator.Buffer(length)</P>
<P>length在地图上偏差可以看看--DisplayTransformation--</P> |
|
|
|
6楼#
发布于:2006-10-08 11:24
谢谢各位!
|
|