基于AO/AE获取要素信息

基于AO/AE获取要素信息

1、基于AE获取要素简单信息

 Private Sub AxMapControl1_OnMouseDown(ByVal sender As Object, ByVal e As ESRI.ArcGIS.MapControl.IMapControlEvents2_OnMouseDownEvent) Handles AxMapControl1.OnMouseDown

 Me.AxMapControl1.MousePointer = ESRI.ArcGIS.SystemUI.esriControlsMousePointer.esriPointerIdentify

Dim pMap As IMap
            Dim i As Integer
            Dim groupLayer As IGroupLayer
            groupLayer = New GroupLayer
            For i = 0 To Me.AxMapControl1.Map.LayerCount - 1
                groupLayer.Add(Me.AxMapControl1.Map.Layer(i))
            Next
            Dim pPoint As IPoint
            pMap = Me.AxMapControl1.Map
            pPoint = Me.AxMapControl1.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(e.x, e.y)

            Dim pIdentify As IIdentify

            Dim pIDArray As IArray
            Dim pFeatIdObj As IFeatureIdentifyObj
            Dim pIdObj As IIdentifyObj
            pIdentify = groupLayer

            Dim pEnv As IEnvelope
            pEnv = New Envelope
            pEnv = Me.AxMapControl1.ActiveView.Extent
            pEnv.Height = 100
            pEnv.Width = 100
            pEnv.CenterAt(pPoint)

            pIDArray = pIdentify.Identify(pEnv)

            If Not pIDArray Is Nothing Then
                pFeatIdObj = pIDArray.Element(0)
                pIdObj = pFeatIdObj
                pIdObj.Flash(Me.AxMapControl1.ActiveView.ScreenDisplay)
                '消息显示查询目标的信息
                MsgBox("Layer:" & pIdObj.Layer.Name & vbNewLine & "Feature:" & pIdObj.Name)
            Else
                MsgBox("No feature identified.")
            End If
                       Me.AxMapControl1.MousePointer = ESRI.ArcGIS.SystemUI.esriControlsMousePointer.esriPointerDefault

End Sub

2、基于AO获取要素详细信息

Private Sub AxMapControl1_OnMouseDown(ByVal sender As Object, ByVal e As ESRI.ArcGIS.MapControl.IMapControlEvents2_OnMouseDownEvent) Handles AxMapControl1.OnMouseDown

 Me.AxMapControl1.MousePointer = ESRI.ArcGIS.SystemUI.esriControlsMousePointer.esriPointerIdentify

 Dim pActiveView As IActiveView
            pActiveView = Me.AxMapControl1.ActiveView
            Dim pIdentifyDialog As IIdentifyDialog
            Dim pIdentifyDialogProps As IIdentifyDialogProps
            Dim pEnumLayer As IEnumLayer
            Dim pLayer As ILayer


            pIdentifyDialog = New IdentifyDialog
            pIdentifyDialogProps = pIdentifyDialog 'QI
            pIdentifyDialog.Map = Me.AxMapControl1.Map
            pIdentifyDialog.Display = pActiveView.ScreenDisplay


            '//Clear the dialog on each mouse click
            pIdentifyDialog.ClearLayers()

            '//Perform an identify on all of the layers the dialog
            '//says are searchable
            pEnumLayer = pIdentifyDialogProps.Layers
            pEnumLayer.Reset()
            pLayer = pEnumLayer.Next
            Do While Not pLayer Is Nothing
                pIdentifyDialog.AddLayerIdentifyPoint(pLayer, e.x, e.y)
                pLayer = pEnumLayer.Next
            Loop
            pIdentifyDialog.Show()

                       Me.AxMapControl1.MousePointer = ESRI.ArcGIS.SystemUI.esriControlsMousePointer.esriPointerDefault

End Sub

 



GIS云中飞鹏 2007-05-22 15:29 发表评论 <script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值