2016-07-06 2 views
0

Comment obtenir les coordonnées GPS (longitude, latitude) du point sur lequel vous avez cliqué/tapé dans la carte ArcGIS Esri?Obtenir les coordonnées GPS en appuyant sur la souris/cliquez sur ArcGIS Esri Map dans Windows Runtime Apps (Windows 8.1)

J'ai essayé événement MapViewTapped comme:

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

deux donne de grandes valeurs inattendues.

Répondre

1

Vous utilisez la propriété MapViewInputEventArgs.Position - cela donne des coordonnées d'écran - voir le sample code for Show Mouse Coordinates. Utilisez la propriété Location pour obtenir les coordonnées de la carte, comme indiqué dans l'exemple.

À noter qu'il est très probable que votre carte utilise le Web Mercator coordinate system - p. si vous avez créé un MapView en utilisant les cartes de base Esri par défaut. Si tel est le cas, les coordonnées de la carte seront indiquées en mètres, soit environ entre -20 000 000 et +20 000 000.

Le système de coordonnées WGS84 indique la latitude et la longitude en degrés et est utilisé par les systèmes GPS. Pour convertir un point d'un autre système de coordonnées (par exemple SpatialReference de votre MapView, si différent), vous pouvez 'projeter' le point - utilisez la méthode Project sur la classe GeometryEngine, et transmettez un MapPoint et le SpatialReference que vous voulez, par exemple

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

Voir l'exemple Project Coordinate qui illustre cela.

+0

Merci! Ça marche :) –