[js] JSは2点の緯度経度に基づく距離取得を実現します。


1. JS は 2 点の緯度と経度に基づいた距離取得を実装します。

// 根据经纬度计算距离,参数分别为第一点的纬度,经度;第二点的纬度,经度
function getDistances(lat1, lng1, lat2, lng2) {
    
    
	let EARTH_RADIUS = 6378.137;// 地球半径
	let radLat1 = lat1 * Math.PI / 180.0; //lat1 * Math.PI / 180.0=>弧度计算
	let radLat2 = lat2 * Math.PI / 180.0;
	let a = radLat1 - radLat2;
	let b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
	let 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 * EARTH_RADIUS; 
	s = Math.round(s * 10000) / 10000;// 输出为公里
	return {
    
     m: s * 1000, km: Number(s.toFixed(2)) }
}

2.効果:

//console.log(that.getDistance(第一点的纬度, 第一点的经度, 第二点的纬度, 第二点的经度))
console.log(that.getDistance(23.048884, 113.760234, 23.02067, 113.75179))

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_53791978/article/details/131529853