【发布时间】:2017-02-14 09:02:53
【问题描述】:
今天我醒来并想运行我的代码(运行正常),但我遇到了几个错误 - 循环遍历包含多个来源和目的地的请求后获得的 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 请求,并注意到该请求仅以一个来源发送:
已发送两个来源: 1. Hilton+Mauritius+Resort+&+Spa,+Coastal+Road,+Flic+en+Flac,+毛里求斯 2.LAventure+du+Sucre,+B18,+Pamplemousses,+毛里求斯
但只考虑了第一个(见上图或点击链接发送请求并查看结果)!几天前,我使用了大约 5 个来源,它正在工作,请帮助!
【问题讨论】:
-
我觉得这很奇怪,因为我只是互换了起源,它似乎工作正常。我不确定要发布什么,也无法在文档中找到任何内容。尝试向 Google 报告有关此问题的错误
-
对不起,我忘了写我找到了解决方案,我也互换了起源,发现它工作正常。然后我花了 1 个多小时才发现:Hilton+Mauritius+Resort+&+Spa,+Coastal+Road,+Flic+en+Flac,+Mauritius 中的“&”导致了这个错误,我删除了 & 和它工作正常。 url中应该没有&
标签: json google-distancematrix-api