/// <summary> Updates the text which is showing the current coordinates. </summary> private void UpdateText() { if (!isActive) { return; } Point pixelPoint = Mouse.GetPosition(MapView); Point wgsPoint = MapView.CanvasToWgs(MapView.Layers, pixelPoint); if (wgsPoint.Y < -90 || wgsPoint.Y > 90 || wgsPoint.X < -180 || wgsPoint.X > 180) { CoordinatesText.Text = INVALID_COORD_TEXT; } else { switch (Map.CoordinateDiplayFormat) { case CoordinateDiplayFormat.Decimal: CoordinatesText.Text = $"{wgsPoint.Y:.000000}°, {wgsPoint.X:.000000}°"; break; case CoordinateDiplayFormat.Degree: CoordinatesText.Text = GeoTransform.LatLonToString(wgsPoint.Y, wgsPoint.X, true); break; default: throw new ArgumentOutOfRangeException(); } } }