0

这是我之前关于同一问题的帖子:drive-distance-between-2-locations

我需要使用谷歌地图找到两个位置之间的行车距离,而不是在 JavaScript 中,我需要在 PHP 中。该页面上接受的答案对我正在寻找的东西有用。我的项目需要这个,并且一周左右没有测试我的项目,在这样做之后,现在代码不再有效。只是为了代码突然停止工作,花了很长时间搜索和找到答案。

<?php
    $url = 'http://maps.google.com/maps/nav?q=from:London%20to:Dover';
    $data = file_get_contents($url);
    $data = utf8_decode($data);
    $obj = json_decode($data);
    echo $obj->Directions->Distance->meters;
?>

那是代码,我尝试了一些 var_dumps 但我没有足够的经验来理解。

每行的var_dumps:

字符串(56)“ http://maps.google.com/maps/nav?q=from:London%20to:Dover

string(76) "{"name":"from:London to:Dover","Status":{"code":610,"request":"directions"}}"

string(76) "{"name":"from:London to:Dover","Status":{"code":610,"request":"directions"}}"

object(stdClass)#1 (2) { ["name"]=> string(20) "from:London to:Dover" ["Status"]=> object(stdClass)#2 (2) { ["code" ]=> int(610) ["request"]=> string(10) "directions" } }

空值

我不知道如何调试等。如果有人可以提供帮助,我将不胜感激,因为我很失望,它刚刚停止工作。

4

1 回答 1

2

干得好

<?php
$url = 'http://maps.googleapis.com/maps/api/distancematrix/json?origins=London&destinations=Dover&mode=driving&language=en&sensor=false';
$data = file_get_contents($url);
$data = utf8_decode($data);
$obj = json_decode($data);

echo($obj->rows[0]->elements[0]->distance->text); //km
echo($obj->rows[0]->elements[0]->distance->value); // meters
于 2013-03-06T13:11:14.387 回答