function getDistance(lat1, lon1, lat2, lon2) {
const R = 6371 // 地球半径,单位为公里
const dLat = deg2rad(lat2 - lat1)
const dLon = deg2rad(lon2 - lon1)
const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
Math.sin(dLon / 2) * Math.sin(dLon / 2)
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a))
return R * c // 距离,单位为公里
}
function deg2rad(deg) {
return deg * (Math.PI / 180)
}
调用使用
getDistance(30.257665, 119.955635, 30.318454, 120.10968) // 返回数值单位公里