internal class GetMapCoordinates : MapTool { protected override void OnToolMouseDown(MapViewMouseButtonEventArgs e) { if (e.ChangedButton == System.Windows.Input.MouseButton.Left) e.Handled = true; //Handle the event args to get the call to the corresponding async method } protected override Task HandleMouseDownAsync(MapViewMouseButtonEventArgs e) { return QueuedTask.Run(() => { //Convert the clicked point in client coordinates to the corresponding map coordinates. var mapPoint = MapView.Active.ClientToMap(e.ClientPoint); ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show(string.Format("X: {0} Y: {1} Z: {2}", mapPoint.X, mapPoint.Y, mapPoint.Z), "Map Coordinates"); }); } }
Target Platforms: Windows 11, Windows 10