评论

记录--根据经纬度计算直线距离

通过经纬度计算两点之间的距离,大概能反映出直线距离,需要很精确的距离的需要用到地图组件。

/**
经纬度计算两点之间的距离,不是很准确
*/

function distance(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 = 6378.137;
 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)));

 return distance;
}
点赞 3
收藏
评论

1 个评论

  • 2019-10-25

    单位是什么?


    2019-10-25
    赞同
    回复
登录 后发表内容