dan800913
路人甲
路人甲
  • 注册日期2005-01-10
  • 发帖数102
  • QQ
  • 铜币617枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1980回复:2

ae实现类似于arcglobe的identify信息标识工具,如何实现?

楼主#
更多 发布于:2005-09-26 10:49
<P>我现在想要实现获取鼠标点击处信息的标识工具,类似于arcglobe的identify工具,即能够得到栅格数据的信息又能够得到矢量数据的信息,我是通过工具条上的一个工具实现identify类来实现。部分代码如下,但是调试的时候,当鼠标在globe上点击(已经加载了数据),根本就没有反应,也没有出错信息!请大家帮忙看看,到底有什么问题?</P>
<P>If m_Pidentifytool = True Then<BR>            Dim m_Pglobedis As IGlobeDisplay<BR>            Dim m_Pscenview As ISceneViewer<BR>            Dim m_Pmousepoint As IPoint<BR>            Dim m_Powner As IUnknown<BR>            Dim m_Pobject As IUnknown<BR>            m_Pglobedis = m_Phook.GlobeDisplay<BR>            m_Pscenview = m_Phook.Globe<BR>            m_Pglobedis.Locate(m_Pscenview, x, y, True, False, m_Pmousepoint, m_Powner, m_Pobject)<BR>            Dim m_Pactiview As IActiveView<BR>            m_Pactiview = m_Phook.Globe<BR>            Dim m_Pidendia As IIdentifyDialog<BR>            Dim m_Pidendiapro As IIdentifyDialogProps<BR>            Dim m_Pidenlayers As IEnumLayer<BR>            Dim m_pidenlayer As ILayer<BR>            'Create a new IdentifyDialog and associate it<BR>            'with the globe and the globedisplay<BR>            m_Pidendia = New IdentifyDialog<BR>            m_Pidendiapro = m_Pidendia<BR>            m_Pidendia.Map = m_Pactiview.FocusMap<BR>            m_Pidendia.Display = m_Pactiview.ScreenDisplay<BR>            'Clear the dialog on each mouse click<BR>            m_Pidendia.ClearLayers()<BR>            m_Pidenlayers = m_Pidendiapro.Layers<BR>            m_Pidenlayers.Reset()<BR>            m_pidenlayer = m_Pidenlayers.Next<BR>            Do While Not m_pidenlayer Is Nothing<BR>                m_Pidendia.AddLayerIdentifyPoint(m_pidenlayer, m_Pmousepoint.X, m_Pmousepoint.Y)<BR>                m_pidenlayer = m_Pidenlayers.Next<BR>            Loop<BR>            m_Pidendia.Show()</P>
<P>End If</P>
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2005-09-27 20:09
注意先把平面坐标(x,y)转换成3d坐标(x,y,z),再利用转换后的点进行查询
举报 回复(0) 喜欢(0)     评分
lingzhi12
路人甲
路人甲
  • 注册日期2004-07-30
  • 发帖数240
  • QQ
  • 铜币60枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-11-29 21:37
请问楼主实现了么?要怎么修改呢?谢谢
淡泊明志,宁静致远
举报 回复(0) 喜欢(0)     评分
游客

返回顶部