2011-08-01 31 views
1

如果您嘗試獲得的距離:如何使用Google地圖獲取距離?

Kalyani Nagar, Wadgaon Sheri, Pune, Maharashtra, India 
Karve Nagar, Hingne Budrukh, Pune, Maharashtra, India 

這個URL,我們得到距離3.4953372691389英里

http://www.sudhirhub.com/2010/05/find-distance-between-two-cities-using.html

maps.google.com你:

N Main Road 8.8 mi 

這個距離是通過公路,所以距離太大。

是否有任何API /任何CURL請求,會給我與maps.google.com相同的距離?

+0

http://www.freemaptools.com/how-far-is-it-between.htm,http://www.daftlogic.com/projects-google-maps-distance-calculator .htm試試這個 – jeni

+0

@ jeni,仍然不符合maps.google.com – user827726

+0

你需要php snipet嗎? – jeni

回答

0

試試這個

rad = function(x) {return x*Math.PI/180;} 

distHaversine = function(p1, p2) { 
    var R = 6371; // earth's mean radius in km 
    var dLat = rad(p2.lat() - p1.lat()); 
    var dLong = rad(p2.lng() - p1.lng()); 

    var a = Math.sin(dLat/2) * Math.sin(dLat/2) + 
     Math.cos(rad(p1.lat())) * Math.cos(rad(p2.lat())) * Math.sin(dLong/2) *   Math.sin(dLong/2); 
    var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
    var d = R * c; 

    return d.toFixed(3); 
} 

或者使用

請務必包括你的頭一節。

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&v=3&libraries=geometry"></script> 

,呼叫將

google.maps.geometry.spherical.computeDistanceBetween (latLngA, latLngB); 

Refrence

-1

看那example here。您只需要通過json_decode()來請求該URL並運行結果。喜歡的東西:

$result = file_get_contents('http://maps.googleapis.com/maps/api/directions/json?origin=Chicago,IL&destination=Los+Angeles,CA&waypoints=Joplin,MO|Oklahoma+City,OK&sensor=false'); 
$result = json_decode($results); 
$distance = $result->routes->legs->distance['text']; 
echo $distance // Outputs: "583 mi" 
相關問題