JS之根据两地经纬度获得两点之间的距离

发布时间 2023-05-08 22:19:12作者: 罗毅豪

JS之根据两地经纬度获得两点之间的距离:

const getDistance = (lat1, lng1, lat2, lng2) => {
  lat1 = lat1 || 0;
  lng1 = lng1 || 0;
  lat2 = lat2 || 0;
  lng2 = lng2 || 0;

  var rad1 = (lat1 * Math.PI) / 180.0;
  var rad2 = (lat2 * Math.PI) / 180.0;
  var a = rad1 - rad2;
  var b = (lng1 * Math.PI) / 180.0 - (lng2 * Math.PI) / 180.0;
  var r = 6378137;
  var distance =
    r *
    2 *
    Math.asin(
      Math.sqrt(
        Math.pow(Math.sin(a / 2), 2) +
          Math.cos(rad1) * Math.cos(rad2) * Math.pow(Math.sin(b / 2), 2)
      )
    );
  console.log(distance);
  //返回单位:米
  return distance;
};

用该代码可以获得两点距离,判断是否进入打卡误差范围。