getDistance(lat1, lng1, lat2, lng2) {
var distance_str = "";
if (lat1 != undefined && lng1 != undefined && lat2 != null && lng2 != null) {
lat2 = lat2 * 1
lng2 = lng2 * 1
var radLat1 = this.kilometer(lat1);
var radLat2 = this.kilometer(lat2);
var a = radLat1 - radLat2;
var b = this.kilometer(lng1) - this.kilometer(lng2);
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; //输出为公里
var distance = s;
if (distance) {
if (parseInt(distance) >= 1) {
distance_str = distance.toFixed(1) + "km";
} else {
distance_str = distance * 1000 + "m";
}
}
}
return distance_str;
},
kilometer(d) {
return d * Math.PI / 180.0;
}
根据坐标计算俩点之间的距离
最新推荐文章于 2024-03-07 10:28:33 发布
本文介绍了一个JavaScript函数getDistance,用于计算两个地理位置(lat1,lng1)和(lat2,lng2)之间的距离,以公里或米为单位显示。它利用经纬度转换和球面三角法实现地球表面两点间的距离计算。
摘要由CSDN通过智能技术生成