`
jiaoronggui
  • 浏览: 1327874 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
博客专栏
B7c2eb31-a8ea-3973-a517-d00141f39b89
项目管理软件-redmin...
浏览量:116414
4a63e153-250f-30f6-a051-97cfc67cb3d3
IT职业规划
浏览量:199304
社区版块
存档分类
最新评论

vue代码,获取两个经纬度之间的距离

    博客分类:
  • vue
 
阅读更多
/*  
			 * Lat1 Lung1 表示A点经纬度,Lat2 Lung2 表示B点经纬度; a=Lat1 – Lat2 为两点纬度之差 b=Lung1 
			 * -Lung2 为两点经度之差; 6378.137为地球半径,单位为千米;  计算出来的结果单位为千米。
			 * 通过经纬度获取距离(单位:千米)   
			 * @param lat1   
			 * @param lng1   
			 * @param lat2   
			 * @param lng2
			 * @return
			 */
			getDistance(lat1, lng1, lat2, lng2) {
				let EARTH_RADIUS = 6378.137;
				let radLat1 = this.rad(lat1);
				let radLat2 = this.rad(lat2);
				let a = radLat1 - radLat2;
				let b = this.rad(lng1) - this.rad(lng2);
				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 * 10000d) / 10000d;
				s = Math.round(s * 10000) / 10000;
				//s = s * 1000; //乘以1000是换算成米
				return s;
			},
			rad(d) {
				return d * Math.PI / 180.0;
			}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics