protected string ConvertToDMS(double decimalDegrees) { string dms = string.Empty; // Get degrees double dd = Math.Abs(decimalDegrees); double degrees = Math.Floor(dd); // Get minutes dd = dd - Math.Floor(dd); dd *= 60; double minutes = Math.Floor(dd); // Seconds. // Math to eliminate eensy and teensy fractions of seconds. double seconds = 60 * (dd - Math.Floor(dd)); seconds *= 1000; seconds = Math.Round(seconds); seconds /= 1000; if (seconds >= 60) { seconds -= 60; minutes++; } if (minutes >= 60) { minutes -= 60; degrees++; } string degreesText = Math.Floor(degrees).ToString(); string minutesText = Math.Floor(minutes).ToString(); string formattedSeconds = seconds.ToString("N2"); char chr = (char)176; string degreeSymbol = chr.ToString(); dms = degreesText + degreeSymbol + " " + minutesText + "'" + " " + formattedSeconds + "\""; return dms; }
var webMercator = new WebMercator(); var result = webMercator.ToGeographic(mapPoint) as MapPoint;