/**
* 计算地图两点之前的直线距离
*/
function distanceCompute(log1, lat1, log2, lat2) {
let latOne = lat1 * Math.PI / 180.0;
let latTwo = lat2 * Math.PI / 180.0;
let LaDValue = latOne - latTwo; // 纬度第一点和第二点相差值
let LoDValue = log1 * Math.PI / 180.0 - log2 * Math.PI / 180.0; // 经度第一点和第二点相差值
let DValue = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(LaDValue / 2), 2) + Math.cos(latOne) * Math.cos(latTwo) * Math.pow(Math.sin(LoDValue / 2), 2)));
DValue = DValue * 6378.137; //地球半径
DValue = Math.round(DValue * 10000) / 10000;
DValue = DValue * 1000;
DValue = DValue.toFixed(0);
return kmUpdate(DValue);
}
/**
* 公里数更换
*/
function kmUpdate(distance) {
// 设置距离为m、km
if (parseFloat(distance) >= 1000) {
return ((distance) / 1000).toFixed(2) + "km"
} else {
distance = distance < 1 ? 0 : distance;
return distance + "m"
}
}