fix: 修复经纬度转换中的问题
This commit is contained in:
parent
08ca36d0fb
commit
b13196218b
|
@ -5,10 +5,10 @@
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function decimalToDms(decimal, isLongitude = true) {
|
export function decimalToDms(decimal, isLongitude = true) {
|
||||||
const degrees = Math.floor(decimal);
|
const absoluteValue = Math.abs(decimal)
|
||||||
const decimalMinutes = (decimal - degrees) * 60;
|
const degree = Math.floor(absoluteValue)
|
||||||
const minutes = Math.floor(decimalMinutes);
|
const minute = Math.floor((absoluteValue - degree) * 60);
|
||||||
const seconds = parseInt((decimalMinutes - minutes) * 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' : '')
|
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}`
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user