php計算兩個指定的經緯度地點之間的距離,這個在做計算給定某個地點的經緯度,計算其附近的商業區,以及給定地點與附近各商業區之間的距離的時候,還是用的到的。下面是具體的函數代碼:
/**
* 求兩個已知經緯度之間的距離,單位爲km
* @param lng1,lng2 經度
* @param lat1,lat2 緯度
* @return float 距離,單位爲km
**/
public static function getDistance($lat1,$lng1,$lat2,$lng2){
//將角度轉爲狐度
$radLat1 = deg2rad($lat1);//deg2rad()函數將角度轉換爲弧度
$radLat2 = deg2rad($lat2);
$radLng1 = deg2rad($lng1);
$radLng2 = deg2rad($lng2);
$a = $radLat1 - $radLat2;
$b = $radLng1 - $radLng2;
$s = 2*asin(sqrt(pow(sin($a/2),2)+cos($radLat1)*cos($radLat2)*pow(sin($b/2),2)))*6371;
return round($s,1);
}
結果保留一位小數。