private void UpdateCoordinateReadout(Point point) { var mp = _mapView.ScreenToLocation(point); if (mp == null) { return; } string coordinateReadout; // we can do DD, DMS, GARS, GEOREF, MGRS, USNG, UTM switch (_coordinateReadoutFormat) { case CoordinateReadoutFormat.DD: coordinateReadout = ConvertCoordinate.ToDecimalDegrees(mp, 3); break; case CoordinateReadoutFormat.DMS: coordinateReadout = ConvertCoordinate.ToDegreesMinutesSeconds(mp, 1); break; case CoordinateReadoutFormat.GARS: coordinateReadout = ConvertCoordinate.ToGars(mp); break; case CoordinateReadoutFormat.GEOREF: coordinateReadout = ConvertCoordinate.ToGeoref(mp, 4, true); break; case CoordinateReadoutFormat.MGRS: coordinateReadout = ConvertCoordinate.ToMgrs(mp, MgrsConversionMode.Automatic, 5, true, true); break; case CoordinateReadoutFormat.USNG: coordinateReadout = ConvertCoordinate.ToUsng(mp, 5, true, true); break; case CoordinateReadoutFormat.UTM: coordinateReadout = ConvertCoordinate.ToUtm(mp, UtmConversionMode.None, true); break; default: coordinateReadout = ConvertCoordinate.ToMgrs(mp, MgrsConversionMode.Automatic, 5, true, true); break; } _mapViewModel.CoordinateReadout = coordinateReadout; }
protected string LocationToString(MapPoint location, CoordinateFormat coordinateFormat) { switch (coordinateFormat) { case CoordinateFormat.DecimalDegrees: return(ConvertCoordinate.ToDecimalDegrees(location, 5)); case CoordinateFormat.DegreesDecimalMinutes: return(ConvertCoordinate.ToDegreesDecimalMinutes(location, 3)); case CoordinateFormat.Dms: return(ConvertCoordinate.ToDegreesMinutesSeconds(location, 1)); case CoordinateFormat.Mgrs: return(ConvertCoordinate.ToMgrs(location, MgrsConversionMode.Automatic, 5, true, true)); } return(null); }