计算两经纬度之间距离

2017/5/24 13:46:49

Category 软件技术 Tag 经纬度,距离

已知两经纬度,如何计算其距离呢,除了使用地图API外,还有更简单粗暴的方法,下面以PHP为例计算两点直接距离:


/*

lon1、lat1是中心点

lon2、lat2是目标点

km表示是否转换为km单位

*/

public function get_distance($lon1 , $lat1 , $lon2 , $lat2){  

$km=false;

$decimal=2;


$EARTH_RADIUS = 6370.996; // 地球半径系数  

$distance = $EARTH_RADIUS*2*asin(sqrt(pow(sin( ($lon1*pi()/180-$lon2*pi()/180)/2),2)+cos($lon1*pi()/180)*cos($lon2*pi()/180)* pow(sin( ($lat1*pi()/180-$lat2*pi()/180)/2),2)))*1000;  

if($km){  

$distance = $distance / 1000;  

}


return  round($distance, $decimal);  

}