作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
假设我有一个经纬度:38.898556,-77.037852。如何将其转换为 DMS?
预期输出是:
38 53 55 N
77 2 16 W
希望能够接受纬度和经度作为函数中的输入参数。
当前函数如下:
function convertDMS( lat, lng ) {
var convertLat = Math.abs(lat);
var LatDeg = Math.floor(convertLat);
var LatMin = (Math.floor((convertLat - LatDeg) * 60));
var LatCardinal = ((lat > 0) ? "n" : "s");
var convertLng = Math.abs(lng);
var LngDeg = Math.floor(convertLng);
var LngMin = (Math.floor((convertLng - LngDeg) * 60));
var LngCardinal = ((lng > 0) ? "e" : "w");
return LatDeg + LatCardinal + LatMin + " " + LngDeg + LngCardinal + LngMin;
}
最佳答案
function toDegreesMinutesAndSeconds(coordinate) {
var absolute = Math.abs(coordinate);
var degrees = Math.floor(absolute);
var minutesNotTruncated = (absolute - degrees) * 60;
var minutes = Math.floor(minutesNotTruncated);
var seconds = Math.floor((minutesNotTruncated - minutes) * 60);
return degrees + " " + minutes + " " + seconds;
}
function convertDMS(lat, lng) {
var latitude = toDegreesMinutesAndSeconds(lat);
var latitudeCardinal = lat >= 0 ? "N" : "S";
var longitude = toDegreesMinutesAndSeconds(lng);
var longitudeCardinal = lng >= 0 ? "E" : "W";
return latitude + " " + latitudeCardinal + "\n" + longitude + " " + longitudeCardinal;
}
这里解释一下这段代码是如何工作的:
toDegreesMinutesAndSeconds
函数。这将返回一个字符串,显示度、分和秒。
关于javascript - 如何将经度从十进制度转换为 DMS 格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37893131/
我是一名优秀的程序员,十分优秀!