2024.11.23 17:29
最近项目需要使用前端 Js 根据两点的经纬度计算出两点的距离,查了一些资料,随便记录一下。
const getDist = (lat1, lng1, lat2, lng2) => {
let RADIUS = 6378.137 // 地球的半径
let radLat1 = lat1 * Math.PI / 180 // 弧度计算
let radLat2 = lat2 * Math.PI / 180
let a = radLat1 - radLat2
let b = lng1 * Math.PI / 180 - lng2 * Math.PI / 180
let s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)))
s = s * RADIUS
s = Math.round(s * 10000) / 10000 // 计算公里
return Number(s.toFixed(2)) || 0
}