javascript根据已知经纬度计算两组点之间的距离

问:当我们知道两组经纬度,是否可以根据这两组经纬度来计算出实际距离?

代码如下

function GetDistance(lat1, lng1, lat2, lng2) {
// var p1 = [lat1, lng1];
// var p2 = [lat2, lng2];
// // 返回 p1 到 p2 间的地面距离,单位:米
// var dis = AMap.GeometryUtil.distance(p1, p2);
// console.log(dis)
// return dis;
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;
}

说明:通过两组经纬度计算出两组经纬度之间直线距离是多少。


六月初字帖坊小程序 你想要的字帖模板及工具,这里都有!