2012-10-25 3 views
2

두 점 사이의 거리를 계산하고 싶습니다. 포인트는 주소입니다.두 주소 사이의 거리를 계산하는 방법

예 :

포인트 A : JFK 공항, 뉴욕, 뉴욕, 미국

포인트 B : 이제 라 과디아, 뉴욕, 뉴욕, 미국

내가 (도로를 통한) 거리와 A 지점과 B 지점 사이의 이동 시간을 계산하고 싶습니다.

어떻게하면됩니까? Google Maps API를 사용할 수 있습니까? 어떻게 문제에 접근하겠습니까?

답변

13
<?php 
$from = "sr nagar,hyderabad"; 
$to = "kukatpalle,hyderabad"; 
$from = urlencode($from); 
$to = urlencode($to); 
$data = file_get_contents("http://maps.googleapis.com/maps/api/distancematrix/json?origins=$from&destinations=$to&language=en-EN&sensor=false"); 
$data = json_decode($data); 
$time = 0; 
$distance = 0; 
foreach($data->rows[0]->elements as $road) { 
    $time += $road->duration->value; 
    $distance += $road->distance->value; 
} 
echo "To: ".$data->destination_addresses[0]; 
echo "<br/>"; 
echo "From: ".$data->origin_addresses[0]; 
echo "<br/>"; 
echo "Time: ".$time." seconds"; 
echo "<br/>"; 
echo "Distance: ".$distance." meters"; 
?> 

참고 : km 및 시간 시간에 필요 이상 : m 형식 그냥

$time  = $road->duration->text; 
$distance = $road->distance->text; 
+1

멋진 대답을. 이것은 정말로 나를 도왔다. +1 – Cyprus106

+0

:) 감사합니다 @ Cyprus106! 해피 코딩 (y) .... –

+0

@RajaRamaMohanThavalam 주어진 Google지도 api의 요청 LIMIT을 명시해야합니다. – Internial