淡语

导航

JS计算两个经纬度的距离

var mapNumberUtil = {};

 

/**
* 计算两个经纬度的距离(千米)
*/
mapNumberUtil.getDistance = function(lat1, lng1, lat2, lng2){
var radLat1 = lat1*Math.PI / 180.0;
var radLat2 = lat2*Math.PI / 180.0;
var a = radLat1 - radLat2;
var b = lng1*Math.PI / 180.0 - lng2*Math.PI / 180.0;
var 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)));
s = s *6378.137 ;// EARTH_RADIUS;
s = Math.round(s * 10000) / 10000;
return s;
}

posted on 2019-08-05 10:30  object360  阅读(13102)  评论(1编辑  收藏  举报