您的位置:首页 > 其它

使用ArcGIS Engine来实现地图的点击查询并闪烁

2009-04-29 18:37 393 查看

ArcGIS Engine没有提供在MapControl中点击查询的命令,只是提供了ReaderControl中的使用的点击查询的命令,下面的代码就是实现点击查询并闪烁的代码。

过程描述

Private Sub MapControl1_OnMouseDown(ByVal button As Long, ByVal shift As Long, ByVal x As Long, ByVal y As Long, ByVal mapX As Double, ByVal mapY As Double)

Dim pMap As IMap
Dim i As Integer

Dim pPoint As IPoint

Set pMap = MapControl1.Map

Set pPoint = MapControl1.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(x, y)

Dim pIdentify As IIdentify

Dim pIDArray As IArray

Dim pFeatIdObj As IFeatureIdentifyObj

Dim pIdObj As IIdentifyObj

Set pIdentify = pMap.Layer(1)

Dim pEnv As IEnvelope

Set pEnv = New Envelope

Set pEnv = MapControl1.ActiveView.Extent

pEnv.Height = 100

pEnv.Width = 100

pEnv.CenterAt pPoint

Set pIDArray = pIdentify.Identify(pEnv)

If Not pIDArray Is Nothing Then

Set pFeatIdObj = pIDArray.Element(0)

Set pIdObj = pFeatIdObj

pIdObj.Flash MapControl1.ActiveView.ScreenDisplay

'消息显示查询目标的信息

MsgBox "Layer:" & pIdObj.Layer.Name & vbNewLine & "Feature:" & pIdObj.Name

Else

MsgBox "No feature identified."

End If

End Sub

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: