fix: 修复经纬度转换中的问题

This commit is contained in:
Xu Zhimeng 2023-06-25 15:55:33 +08:00
parent 08ca36d0fb
commit b13196218b

View File

@ -5,10 +5,10 @@
* @returns
*/
export function decimalToDms(decimal, isLongitude = true) {
const degrees = Math.floor(decimal);
const decimalMinutes = (decimal - degrees) * 60;
const minutes = Math.floor(decimalMinutes);
const seconds = parseInt((decimalMinutes - minutes) * 60);
const absoluteValue = Math.abs(decimal)
const degree = Math.floor(absoluteValue)
const minute = Math.floor((absoluteValue - degree) * 60);
const second = Math.round(((absoluteValue - degree) * 60 - minute) * 60)
const tail = isLongitude ? (decimal > 0 ? 'E' : decimal < 0 ? 'W' : '') : (decimal > 0 ? 'N' : decimal < 0 ? 'S' : '')
return `${Math.abs(degrees)}°${minutes}'${seconds}"${tail}`;
return `${degree}°${minute}'${second}"${tail}`
}