📌  相关文章
📜  js计算两个坐标之间的距离 - Javascript(1)

📅  最后修改于: 2023-12-03 14:43:36.279000             🧑  作者: Mango

计算两个坐标之间的距离

在进行地图开发或其他需要计算距离的场景下,计算两个坐标之间的距离是非常重要的。在 JavaScript 中,可以使用数学公式来计算两个经纬度坐标之间的距离。

计算公式

首先,通过经纬度计算地球上两点之间的距离需要用到大圆球面积公式,也叫做Haversine公式。

以下是计算公式:

公式1

其中,

  • Δλ 表示两点经度之差
  • Δφ 表示两点纬度之差
  • λ1、λ2 分别表示两点的经度
  • R 表示地球半径,取值为 6,371 km
JavaScript代码

以下为示例代码,通过 getDistance函数来计算两个经纬度坐标之间的距离。

function getDistance(lat1, lon1, lat2, lon2) {
  const R = 6371; // 地球半径,单位为千米
  const toRadians = (degree) => degree * Math.PI / 180; // 角度转弧度
  const deltaLat = toRadians(lat2 - lat1); // 纬度差
  const deltaLon = toRadians(lon2 - lon1); // 经度差
  
  const a = Math.sin(deltaLat / 2) ** 2 + 
            Math.cos(toRadians(lat1)) * Math.cos(toRadians(lat2)) *
            Math.sin(deltaLon / 2) ** 2;
  const c = 2 * Math.asin(Math.sqrt(a));
  const distance = R * c; // 距离,单位为千米
  
  return distance;
}
总结

通过 Haversine 公式,使用 JavaScript 就可以轻松地计算两个经纬度坐标之间的距离。