美文网首页
小程序如何根据经纬度计算两点间距离

小程序如何根据经纬度计算两点间距离

作者: laozuo | 来源:发表于2020-04-25 20:05 被阅读0次

直接看代码:

/**
   * 计算两点间直线距离
   * @param a 表示纬度差
   * @param b 表示经度差
   * @return 返回的是距离,单位m
   */
  getDistance(latFrom, lngFrom, latTo, lngTo) {
    var rad = function(d){//计算角度
      return d * Math.PI / 180.0;
    }
    var EARTH_RADIUS = 6378136.49;
    var radLatFrom = rad(latFrom);
    var radLatTo = rad(latTo);
    var a = radLatFrom - radLatTo;
    var b = rad(lngFrom) - rad(lngTo);
    var distance = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLatFrom) * Math.cos(radLatTo) * Math.pow(Math.sin(b / 2), 2)));
    distance = distance * EARTH_RADIUS;
    distance = Math.round(distance * 10000) / 10000;
    return parseFloat(distance.toFixed(0));
  },

代码是我从腾讯地图的位置服务sdk中摘出来的,稍微整理了一下,因为如果仅是仅是计算个距离,没有必要使用腾讯地图sdk了。

使用示例:

1. 寻物启事小程序 http://market.zhenzikj.com/detail/122.html

2. 签到小程序http://market.zhenzikj.com/detail/129.html

相关文章

网友评论

      本文标题:小程序如何根据经纬度计算两点间距离

      本文链接:https://www.haomeiwen.com/subject/llflwhtx.html