JS之根据两地经纬度获得两点之间的距离:
const getDistance = (lat1, lng1, lat2, lng2) => {
lat1 = lat1 || 0;
lng1 = lng1 || 0;
lat2 = lat2 || 0;
lng2 = lng2 || 0;
var rad1 = (lat1 * Math.PI) / 180.0;
var rad2 = (lat2 * Math.PI) / 180.0;
var a = rad1 - rad2;
var b = (lng1 * Math.PI) / 180.0 - (lng2 * Math.PI) / 180.0;
var r = 6378137;
var distance =
r *
2 *
Math.asin(
Math.sqrt(
Math.pow(Math.sin(a / 2), 2) +
Math.cos(rad1) * Math.cos(rad2) * Math.pow(Math.sin(b / 2), 2)
)
);
console.log(distance);
//返回单位:米
return distance;
};
用该代码可以获得两点距离,判断是否进入打卡误差范围。