当前位置:首页小程序 > 正文

微信小程序计算两点之间的距离(Haversine公式)

作者:野牛程序员:2024-09-12 11:11:41小程序阅读 2743
微信小程序计算两点之间的距离(Haversine公式)

基于Haversine公式计算两个经纬度之间的最短距离。该公式用于在球体表面上计算两点之间的最短路径,即大圆距离。换句话说,计算结果是两个地理位置的“空中直线距离”,不考虑实际的道路、建筑等障碍。

如果需要计算沿着道路的实际行驶距离,则需要调用第三方地图服务(如腾讯地图或高德地图的路线规划API)来获取更准确的行驶距离,而不是使用当前的纯数学公式。

// 计算两点之间的距离(Haversine公式)
  getDistance(lat1, lng1, lat2, lng2) {    const radLat1 = this.rad(lat1);    const radLat2 = this.rad(lat2);    const a = radLat1 - radLat2;    const b = this.rad(lng1) - this.rad(lng2);    const 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)));    const earthRadius = 6378137; // 地球半径,单位为米
    return s * earthRadius;
  },  // 弧度转换
  rad(d) {    return d * Math.PI / 180.0;
  }


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • 微信小程序计算两点之间的距离(Haversine公式)
  • 相关推荐

    最新推荐

    热门点击