Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用谷歌地图api URL的两点之间的距离(“代码不工作”)_Php_Google Maps_Google Maps Api 3 - Fatal编程技术网

Php 使用谷歌地图api URL的两点之间的距离(“代码不工作”)

Php 使用谷歌地图api URL的两点之间的距离(“代码不工作”),php,google-maps,google-maps-api-3,Php,Google Maps,Google Maps Api 3,代码运行不正常。 当我从url和simple put location中删除变量时,效果很好。 当我为变量指定邮政编码时,也可以很好地工作 <?php $origin='Dover'; $destination= 'London'; /* print_r($destination); $size=sizeof($destination); echo $size; */ $url = 'http://maps.googleapis.com/m

代码运行不正常。 当我从url和simple put location中删除变量时,效果很好。 当我为变量指定邮政编码时,也可以很好地工作

<?php 
    $origin='Dover';
    $destination= 'London';
    /* print_r($destination);
    $size=sizeof($destination);
    echo $size; */
    $url = 'http://maps.googleapis.com/maps/api/distancematrix/json?origins=$origin&destinations=$destination&mode=driving&language=en&sensor=false%27';
$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    

?>

或者是否有其他方法可以获得两个位置之间的行驶距离。

不知道这是否是问题所在,但您在url字符串上使用单引号,这意味着您传递的是$origin,而不是Dover到您的api请求

在$url定义中使用双引号,如:

$url = "http://maps.googleapis.com/maps/api/distancematrix/json?origins=$origin&destinations=$destination&mode=driving&language=en&sensor=false%27";
干杯