js 根据经纬度计算两地之间的距离

今天做一个涉及到地图的项目,其中就有一个计算两地之间距离的需求。
注意:是根据两地之间的经纬度来计算他们的距离。
下面直接上代码:

function space(lat1, lng1, lat2, lng2) {
		      console.log(lat1, lng1, lat2, lng2)
		      var radLat1 = lat1 * Math.PI / 180.0;
		      var radLat2 = lat2 * Math.PI / 180.0;
		      var a = radLat1 - radLat2;
		      var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
		      var 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 * 6378.137;
		      s = Math.round(s * 10000) / 10000;
		      return s  // 单位千米
		    }

亲测有效~

你可能感兴趣的:(tools,javascript)