网站备案 怎么加,如何建立一个手机网站,wordpress设置301,中国最新军事新闻 今天工作中偶尔会碰到#xff0c;后端返回一个目标位置的经纬度#xff08;吐槽#xff1a;怎么不直接返回一个距离回来#xff0c;还要让前端来算#xff0c;【差评、嫌弃】#xff09;#xff0c;然后让你计算用户当前位置与目标位置的距离。 话不多说#xff0c;直接上代… 工作中偶尔会碰到后端返回一个目标位置的经纬度吐槽怎么不直接返回一个距离回来还要让前端来算【差评、嫌弃】然后让你计算用户当前位置与目标位置的距离。 话不多说直接上代码
/*** 根据经纬度获取两点之间的距离* param {Object} location1 { latitude, longitude } 位置1的经纬度* param {Object} location2 { latitude, longitude } 位置2的经纬度*/
export const getDistance (location1, location2) {let lat1 location1.latitude || 0;let lng1 location1.longitude || 0;let lat2 location2.latitude || 0;let lng2 location2.longitude || 0;let rad1 lat1 * Math.PI / 180.0;let rad2 lat2 * Math.PI / 180.0;let a rad1 - rad2;let b lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;let r 6378137;let 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)));// 返回 m(米)return Number(distance).toFixed(2);
}