0

如何获取 ArcGIS Esri 地图中单击/点击点的 GPS 坐标(经度、纬度)?

我试过MapViewTapped这样的事件:

private void myMapView_MapViewTapped(object sender, MapViewInputEventAtgs e)
{
  var x = e.Position.X; //e.Location.X;
  var y = e.Position.Y; //e.Location.Y;
}

两者都给出了很大的意外值。

4

1 回答 1

1

您正在使用 MapViewInputEventArgs.Position 属性 - 这给出了屏幕坐标 - 请参阅Show Mouse Coordinates 的示例代码。使用 Location 属性获取地图坐标,如示例中所示。

值得注意的是,您的地图很可能使用Web Mercator 坐标系- 例如,如果您使用默认的 Esri 底图创建了 MapView。如果是这样,地图坐标将以米为单位报告,大约在 -20,000,000 到 +20,000,000 的范围内。

坐标系统 WGS84 以度为单位给出纬度和经度,并由 GPS 系统使用。要从另一个坐标系转换一个点(例如,您的 MapView 的 SpatialReference,如果与此不同),您可以“投影”该点 - 使用 GeometryEngine 类的 Project 方法,并传入您想要的 MapPoint 和 SpatialReference,例如

MapPoint projectedPoint = GeometryEngine.Project(e.Location, SpatialReferences.Wgs84);

请参阅演示该内容的项目坐标示例。

于 2016-08-18T10:40:20.150 回答