2013-10-22 86 views
0

我需要在codeigniter中執行一項新任務,我有一個公交車旅行項目。根據班加羅爾到德里的預訂,raipur到bilaspur我必須計算distance.and以km爲單位顯示它。如果用戶輸入城市來源和目的地並且它將自動計算,那麼前端就會被計算出來。任何人都知道這是否可以實現?因爲我非常需要一些幫助。提前致謝!顯示所選城市中特定公里的距離

作用距離($ LAT1,$ lon1,$ LAT2,$ lon2,$單位){

$theta = $lon1 - $lon2; 
    $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta)); 
    $dist = acos($dist); 
    $dist = rad2deg($dist); 
    $miles = $dist * 60 * 1.1515; 
    $unit = strtoupper($unit); 

    if ($unit == "K") { 
    return ($miles * 1.609344); 
    } else if ($unit == "N") { 
     return ($miles * 0.8684); 
    } else { 
     return $miles; 
     } 
} 

echo distance(32.9697, -96.80322, 29.46786, -98.53506, "M") . " Miles<br>"; 
echo distance(32.9697, -96.80322, 29.46786, -98.53506, "K") . " Kilometers<br>"; 
echo distance(32.9697, -96.80322, 29.46786, -98.53506, "N") . " Nautical Miles<br>"; 
    ?> 

我想這件事,但其fine.according我的要求。

回答

0

您需要使用Dijkstra's Algorithm來查找圖中的最短路徑。你不能假設路線是直線,就像你飛行一樣。你需要有一個包含城市之間距離的矩陣。

+0

有可能調用google api –

+0

你的意思是「是它」還是「它是」可能?你在問一個問題嗎? – Tarik

+0

請參閱https://developers.google.com/maps/documentation/webservices/關於如何撥打Google地圖API – Tarik

相關問題