PHP 獲取當前位置到指定位置的距離

/**
 * 獲取當前位置到指定位置的距離(Km/千米)精確到2位小數
 * $from = array($post['lon'],$post['lat']); 當前位置經緯度
 * $to= array($post['lon'],$post['lat']); 目的地經緯度
 */
public function get_distance($from,$to,$km=true,$decimal=2){
    sort($from);
    sort($to);
    $EARTH_RADIUS = 6370.996; // 地球半徑係數

    $distance = $EARTH_RADIUS*2*asin(sqrt(pow(sin( ($from[0]*pi()/180-$to[0]*pi()/180)/2),2)+cos($from[0]*pi()/180)*cos($to[0]*pi()/180)* pow(sin( ($from[1]*pi()/180-$to[1]*pi()/180)/2),2)))*1000;

    if($km){
        $distance = $distance / 1000;
    }

    return round($distance, $decimal);

}
相關文章
相關標籤/搜索