假设我有一个纬度经度: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;
}
Math.sign
?坐标-45仍然小于0,而34仍然大于0。 - Radvylf ProgramsMath.sign
来检查数字是否小于/大于0。lat >= 0
同样有效,我已经测试过了。 - Radvylf Programsvar seconds = Math.round(((minutesNotTruncated - minutes) * 60) * 100.0) / 100.0;
。 - Kim Tiago Baptista