2015-07-21 101 views
-1

我无法让Google API给出与使用Google地图时相同的驾驶距离答案。我使用这些数据来测试API与Google地图的准确性。我使用cakephp,但php代码也可以接受。谷歌地图API驾驶距离不准确

Test data for lat/long (not people I know) 
(point1) 
Address Lat: -38.041968 
Address Long: 145.26416599999993 

(point 2) 
Address Lat: -37.988981 
Address Long: 145.53447499999993 

谷歌地图这2点之间的距离说41.3公里但低于谷歌的API相同的纬度/长点,我得到33.7公里是太不精确的依靠。 Google API发生了什么似乎不起作用?

$stlat = $student['Student']['address_lat']; 
    $stlong = $student['Student']['address_long']; 
    foreach ($tutors as $key => $item): 
    $tutlat = $item['Tutor']['address_lat']; //this is the lat/long above 
    $tutlong = $item['Tutor']['address_long']; 
    $testUrl = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=".$stlat.",".$stlong."&destinations=".$tutlat.",".$tutlong."&mode=driving&language=en&sensor=false"; 
    $data1 = file_get_contents($testUrl); 
    $data = utf8_decode($data1); 
    $obj = json_decode($data1); 
    $dist2=$obj->rows[0]->elements[0]->distance->text; 
    debug($obj->rows[0]->elements[0]->distance->text); //km 
endforeach; 
+1

都是旅行模式吗? – 2015-07-21 01:57:25

+0

是的,向您显示数据的目的是您可以自己测试。这样,有人可以看到,如果我做错了什么或谷歌API不起作用 – ajt

+1

奇数我得到33.8公里使用谷歌地图 - 要仔细检查,https://www.google.com/maps/dir/-38.041968+145.26416599999993+ /-37.988981+145.53447499999993+/@-38.0275333,145.3252371,12z/data=!3m1!4b1!4m9!4m8!1m3!2m2!1d145.264166!2d-所以我的地图用法与你的API匹配,我认为你的原始地图检查38.041968!1m3!2m2!1d145.534475!2d-37.988981 – 2015-07-21 02:02:36

回答

0

答案是,在谷歌地图上我没有得到最佳距离,但在API上。那么问题就解决了