地图计算两点间的距离

// 两点间距离lat1,  lng1,  lat2,  lng2
			getMapDistanceApi(paramObj){
    
    
			    // console.log(paramObj)
			    var lng1 = paramObj.lng1
			    var lat1 = paramObj.lat1
			
			    var lng2 = paramObj.lng2
			    var lat2 = paramObj.lat2
			    
			    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 ;// EARTH_RADIUS;
			    s = Math.round(s * 10000) / 10000;
			    
			    s = s * 1000
			    
			    if (isNaN(s)) {
    
      
			        return 0+'m';  
			    }  
			    
			    if (s > 1000) {
    
    
			        //    大于1000米时
			        s = Math.floor(s/1000 * 100) / 100;
			        s = s + 'km'
			    } else {
    
    
					 s = Math.floor(s/1000 * 100) / 100;
			        //    小于1000米直接返回
			        s = s + 'm'
			    }
			    
			    return s;
			},

猜你喜欢

转载自blog.csdn.net/weixin_45932157/article/details/126265471
今日推荐