鼠标点击获取GPS坐标/在Windows运行时应用程序中单击ArcGIS Esri Map(Windows 8.1)

时间:2016-07-06 11:53:47

标签: windows-runtime windows-8.1 arcgis esri arcgis-runtime

如何获取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;
}

它都会产生很大的意外值。

1 个答案:

答案 0 :(得分:1)

您正在使用MapViewInputEventArgs.Position属性 - 这会给出屏幕坐标 - 请参阅sample code for Show Mouse Coordinates。使用Location属性获取地图坐标,如示例所示。

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

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

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

请参阅演示此内容的Project Coordinate示例。