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) // 返回数值单位公里
最后修改:2024 年 05 月 14 日
如果觉得我的文章对你有用,请随意赞赏