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
分享到:
相关推荐
本文将详细介绍如何利用ArcEngine(简称AE)提供的MapControl控件来实现Shapefile的动态加载。 #### 技术背景 1. **Shapefile简介**:Shapefile是一种用于存储地理空间矢量数据的文件格式,通常包含多个文件,如....
4. **将CAD图层添加到地图中**:最后,通过地图控件的`AddLayer`方法将这些CAD图层添加到地图上显示出来。 ### 具体实现步骤及代码解读 #### 1. 打开CAD工作空间 ```vb Dim pCadWorkspaceFactory As ...
- 将FeatureLayer添加到MapControl的Layers集合中,使其在地图上可见。 5. **代码示例**:以下是一个简化的C#示例,演示如何将Geodatabase中的要素文件加载到地图: ```csharp using ESRI.ArcGIS.ADF.Base...
- 在地图选项卡中放置MapControl控件,在制版选项卡中放置PageLayoutControl控件。 - 最后,将LicenseControl控件添加到窗体中。 #### 3. 控件绑定 为了使各个控件之间能够协同工作,我们需要进行控件绑定。 - ...
在ToolbarControl中,添加必要的编辑功能按钮,如添加、删除或修改要素等,并将它的关联控件设置为`MapControl`。 ##### 5.2 添加引用和代码 实现地图编辑功能需要引入以下命名空间: - `ESRI.ArcGIS.Carto` - `...
2. **MapControl控件**: 提供地图显示功能,支持地图的缩放、平移等基本操作。 3. **Layer对象**: 表示地图图层,可以添加、删除和修改图层。 4. **QueryByShape接口**: 支持地图到属性的查询功能,即根据地图上的...
首先,在界面上添加ZoomWindowControl,然后将其与MapControl关联,设置适当的大小和位置。当用户在ZoomWindowControl上操作时,同步更新MapControl的视图范围。 六、事件处理与交互 ArcEngine提供了丰富的事件,如...
- 要为应用程序添加编辑功能,首先需要在设计模式下右键点击 ToolbarControl,通过属性对话框添加 Feature Editors 工具集。这将提供类似 ArcMap 的编辑工具,允许用户对地图上的要素进行编辑。 5. **体验编辑功能...
在VB项目中,首先需要添加ArcGIS的ActiveX控件,如MapControl和PageLayoutControl。MapControl用于显示地图,PageLayoutControl则用于创建布局,包括地图、图例、比例尺等元素。 3. 数据连接与图层管理 VB可以...
3. **创建地图对象**:在VB代码中,通过`New`关键字实例化`ESRI.ArcGIS.MapControl.Map`类,创建地图控件。 4. **添加图层**:使用`Map.AddLayer`方法将ArcGIS中的图层添加到地图控件。 5. **注册地图事件**:订阅...
3. **创建地图控件**: 在界面中添加 MapControl,用于展示地图数据。 4. **加载数据**: 通过 `IMapControl3.Map` 属性设置地图,并使用 DataSources 加载栅格或矢量数据。 5. **交互操作**: 利用 Engine 提供的事件...
- **右键菜单添加与实现**:在地图或图层上添加右键菜单,提供快捷操作。 - **图层符号选择器的实现**:允许用户选择图层的显示样式。 - **属性数据表的查询显示**:显示和操作地图要素的属性数据。 通过这个教程的...
2. **用ArcEngine的工具条添加图层要素**:ArcEngine允许开发者创建自定义工具条,通过按钮或其他控件来加载地图图层或要素。这涉及到IToolBarDef和ITool两个接口,前者定义工具条,后者定义工具。开发者可以通过...
通过其属性对话框,添加“Items”,在Controls Commands对话框的Toolset选项卡中选择“Feature Editors”。将这些编辑工具拖放到工具栏指定位置,这样用户就可以在应用程序中进行地图要素的编辑。 3. 高级功能实现 ...
1. 创建MapControl对象:这是显示地图的基础,开发者需要在用户界面中添加MapControl控件,并加载所需的图层。 2. 加载数据源:这可以是Shapefile、Geodatabase、服务端Feature Service等。每个图层都关联着一个...
最后,创建`FeatureLayer`并将其添加到`MapControl`,使数据在地图上显示。 实例二涉及打开栅格数据文件,如JPEG图像。栅格数据表示连续的表面,通常由像素矩阵组成。这里,使用`RasterLayerClass`的`...
- 可以根据需求选择添加MapNavigation中的导航工具、MapInquiry中的查询工具以及FeatureSelection中的选择工具等。 5. **编译运行** - 按F5编译并运行程序,测试是否能够正确加载地图文档并进行基本的操作。 ###...
2. 地图加载:在程序启动时,加载一个ArcGIS文档(MXD)或地理数据库(GDB)中的地图,将地图内容展示在MapControl上。 3. 图层操作:可能有添加、删除、显示/隐藏图层的功能,以及调整图层顺序和透明度的代码。 4. ...
根据提供的文件内容,我们可以归纳出一系列与地理信息系统(GIS)相关的知识点,... - `FeatureDataset` 仅存在于地理数据库工作空间中,并且用于确保参与拓扑特征的要素类和参与几何网络的要素类具有共同的空间参考。
然后,使用`OpenFeatureClass`方法读取具体文件名对应的要素类(FeatureClass),最后将要素层(FeatureLayer)添加到地图控件(MapControl)中进行显示。 ### 栅格数据加载 对于栅格数据的处理,C#结合ArcGIS ...