【问题标题】:Issue with code to find driving distance between two places with Google Distance Matrix使用谷歌距离矩阵查找两个地方之间的行驶距离的代码问题
【发布时间】:2013-03-06 12:40:35
【问题描述】:

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

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

<?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" } }

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

【问题讨论】:

标签: php google-maps


【解决方案1】:

给你

<?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

【讨论】:

  • @Lubblobba 随时乐意提供帮助,我相信您的原始网址是 api 的 V2,这就是为什么它会抛出 600 错误而您一无所获
  • 哦,我以为可能有更新什么的。再次感谢!
猜你喜欢
  • 1970-01-01
  • 2011-09-21
  • 2014-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多