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

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

作者: 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