根据指针位置执行函数
Executing function based on pointer location
我正在使用 ArcGIS SDK for dot net。我正在使用 vc# 进行编程。我想在鼠标指针进入地图上的特定 longitude/latitude 或在该位置上单击鼠标时立即执行一段代码。有很多事件处理程序,但我不知道如何检索鼠标指针所在的位置。例如,我想在鼠标指针位于经度 25 和纬度 33 时立即显示一些图片。
- 为您的
MapView
添加一个 MouseMove
侦听器。
- 您的侦听器方法将有一个
MouseEventArgs
类型的参数。对该参数调用 GetPosition(null)
以获取屏幕点。
- 使用
MapView.ScreenToLocation(Point)
获取地图坐标中的MapPoint。
- 如果您的地图不在 longitude/latitude 中,请使用
GeometryEngine.Project(Geometry, SpatialReference.Create(4326))
转换为 longitude/latitude。
- 检查经度和纬度是否在您想要的范围内。
我试着在这里发布我的源代码,但是 Stack Overflow 给了我一个错误,所以这里是截图:
我正在使用 ArcGIS SDK for dot net。我正在使用 vc# 进行编程。我想在鼠标指针进入地图上的特定 longitude/latitude 或在该位置上单击鼠标时立即执行一段代码。有很多事件处理程序,但我不知道如何检索鼠标指针所在的位置。例如,我想在鼠标指针位于经度 25 和纬度 33 时立即显示一些图片。
- 为您的
MapView
添加一个MouseMove
侦听器。 - 您的侦听器方法将有一个
MouseEventArgs
类型的参数。对该参数调用GetPosition(null)
以获取屏幕点。 - 使用
MapView.ScreenToLocation(Point)
获取地图坐标中的MapPoint。 - 如果您的地图不在 longitude/latitude 中,请使用
GeometryEngine.Project(Geometry, SpatialReference.Create(4326))
转换为 longitude/latitude。 - 检查经度和纬度是否在您想要的范围内。
我试着在这里发布我的源代码,但是 Stack Overflow 给了我一个错误,所以这里是截图: