操作方法

操作方法:使用 ArcObjects SDK for the Microsoft .NET Framework 通过单击鼠标来捕获地图坐标

Last Published: October 28, 2020

摘要

没有工具可以通过单击鼠标来返回地图上特定位置的坐标。 ArcObjects SDK for the Microsoft .NET Framework 可用于扩展 ArcMap 的功能,其创建了一个新的工具栏,以使用“扩展 ArcObjects”功能并通过修改 OnMouseDown 事件来返回地图上的精确坐标。

示例结果的图像

本文提供了使用 ArcObjects SDK for the Microsoft .NET Framework 在 ArcMap 中通过单击鼠标来捕获地图坐标的步骤。

过程

  1. 使用包含 Visual Basic 的 Microsoft Visual Studio 来创建自定义工具栏。 请参阅概览:创建自定义工具 (ArcObjects .NET 10.8 SDK) 中提供的信息。 按照步骤进行操作,直到“删除 class1 文件”。
  2. 创建用于 ArcMap 的工具栏。 右键单击工程文件,然后单击添加 > 新建项目以打开添加新项目窗口。
  3. 添加新项目窗口中,展开 ArcGIS > 扩展 ArcObjects,然后选择基础工具栏。 根据需要修改工具栏名称,然后单击添加
  4. 在同一工程文件中,添加其他新项目。
  5. 添加新项目窗口中,展开 ArcGIS > 扩展 ArcObjects然后选择基础工具栏
  6. 将项目命名为 GetCoordinate.vb,然后单击 添加
  7. 当弹出 ArcGIS 新项目向导选项窗口时,选择 ArcMap 桌面工具
  8. 添加新项目后,将以下脚本添加到步骤 3 中在 Public Sub New() 类下创建的 .vb 文件中:
Public Sub New() 'TODO: Define your toolbar here by adding items AddItem("<Project_Name>.GetCoordinate") End Sub
注意: 要更改将在 ArcMap 中显示的工具栏名称,请按照以下内容编辑 Public Overrides ReadOnly Property Caption() 方法: Public Overrides ReadOnly Property Caption() As String Get 'TODO: Replace bar caption Return "<Toolbar_Name>" End Get End Property
  1. GetCoordinate.vb 脚本文件中,在 Public Overrides Sub OnMouseDown() 方法中添加以下代码片段:
Public Overrides Sub OnMouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Integer, ByVal Y As Integer)     Dim pMxDoc As IMxDocument = m_application.Document     Dim pPoint As IPoint = pMxDoc.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(X, Y)     MsgBox("Map X: " & pPoint.X & vbCrLf & "Map Y: " & pPoint.Y) End Sub
注意: 在某些情况下,IPoint 变量需要参考 Esri.ArcGIS.Geometry 库。 要添加参考,在解决方案资源管理器窗格中,右键单击参考,然后单击添加参考。 搜索 Esri.ArcGIS.Geometry,然后选中复选框。
  1. 按 CTRL+Shift+B 构建解决方案。
  2. 打开 ArcMap。
  3. 单击自定义 > 工具栏。 在选择中提供了创建的工具栏。 该工具通过在地图上的所需点上单击游标来返回地图上位置的坐标。

文章 ID:000024388

从 ArcGIS 专家处获得帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项

相关信息

发现关于本主题的更多内容