谷歌距离矩阵api不再支持几个起源?

时间:2017-02-14 09:02:54

标签: json google-distancematrix-api

今天我醒来并希望运行我的代码(运行正常)但是我收到了几个错误 - 在发送包含多个来源和目的地的请求后获得的json响应循环时出现了未定义的偏移错误:

$request = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?origins=$OriginUrl&destinations=$DestinationUrl&mode=driving");
$resultdistance = json_decode($request, true);

for($i=0;$i<count($LocationDetails);$i++){

        $distanceM = $resultdistance['rows'][$i]['elements'][$i]['distance']['value'];
        $distanceKM = $distanceM / 1000;
        $TravelDistance = round($distanceKM,1); // Distance from Act 1 and Act 2
        $DistanceText = $resultdistance['rows'][$i]['elements'][$i]['distance']['text'];
        $TimeToTravelSec =  $resultdistance['rows'][$i]['elements'][$i]['duration']['value'];
        $TimeToTravelText = $resultdistance['rows'][$i]['elements'][$i]['duration']['text'];

}

然后我在具有多个来源的地址栏中手动输入http请求,并注意到该请求仅使用一个来源发送:

https://maps.googleapis.com/maps/api/distancematrix/json?origins=Hilton+Mauritius+Resort+&+Spa,+Coastal+Road,+Flic+en+Flac,+Mauritius|LAventure+du+Sucre,+B18,+Pamplemousses,+Mauritius&destinations=Cascavelle,+Riviere+Noire+District|Mauritius+Aquarium,+B38,+Camp+Bestel,+Pamplemousses+District,+Mauritius|Blue+Safari+Submarines,+B36,+Trou-aux-Biches,+Mauritius|&mode=driving

valid HTML

已发送两个来源: 1. Hilton + Mauritius + Resort +&amp; + Spa,+ Coastal + Road,+ Flic + en + Flac,+ Mauritius 2.LAventure +杜+苏克雷,+ B18,+庞普勒穆斯,+毛里求斯

但只考虑了第一个(参见上图或点击链接发送请求并查看结果)!几天前我使用了大约5个起源,它正在工作请帮助!

1 个答案:

答案 0 :(得分:0)

我删除'&amp;'在:

Hilton+Mauritius+Resort+&+Spa,+Coastal+Road,+Flic+en+Flac,+Mauritius 

它工作正常。不应该有任何'&amp;在原点的名称和目的地的名称,因为参数已经使用'&amp;'签署,这可能会导致一些问题。