Files
2024-09-27 01:09:52 +08:00

34 lines
900 B
JavaScript

class utils {
/**
* 计算两经纬度点之间的距离(单位:米)
* @param {*} lat1 纬度1
* @param {*} lng1 经度1
*
* @param {*} lat2 纬度2
* @param {*} lng2 经度2
* @returns
*/
caculateLL(lng1, lat1, lng2 = 117.325426, lat2 = 31.794477) {
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;
s = Math.round(s * 10000) / 10;
return s;
}
}
module.exports = new utils();