2017-02-14 5 views
0

Heute wachte ich auf und möchte meinen Code auszuführen (was in Ordnung arbeitete), aber ich habe einige Fehler - Nicht definierte Offsetfehler während sie durch die json Antwort nach einer Anfrage, die mehrere Ursprünge und Ziele gesendet wurde erhalten Looping:Google distance matrix api unterstützt mehrere Ursprünge nicht mehr?

$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']; 

} 

I gibt dann die HTTP-Anforderung manuell in der Adressleiste mit mehreren Ursprüngen und bemerke, dass die Anforderung nur mit einer Herkunft gesendet wurde:

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

Zwei Ursprüngen wurde abgeschickt: 1. Hilton + Mauritius + Resort + & + Spa, + Coastal + Road, + Flic + en + Flac, + Mauritius 2.LAventure + du + Sucre, + B18 + Pamplemousses, + Mauritius

aber nur die erste wurde in Betracht gezogen (siehe Bild oben oder klicken Sie auf den Link, um Anfrage zu senden und das Ergebnis zu sehen)! Vor ein paar Tagen habe ich ungefähr 5 Ursprünge benutzt und es hat funktioniert. Bitte Hilfe!

+0

Ich finde irgendwie seltsam, weil ich nur die Ursprünge vertauscht habe und es scheint gut zu funktionieren. Ich bin mir nicht sicher, was ich ausgeben soll und kann auch nichts in der Dokumentation finden. Versuchen Sie, einen Fehler zu Google über diese – Coder

+0

zu melden Es tut mir leid, ich habe vergessen zu schreiben, dass ich eine Lösung gefunden habe, ich habe auch die Ursprünge vertauscht und festgestellt, dass es gut geht. Dann verbrachte ich mehr als 1 Stunde, um zu finden, dass das '&' im: Hilton + Mauritius + Resort + + + Spa, + Küstenstraße, + Flic + en + Flac, + Mauritius diesen Fehler verursachte Ich entferne die & und es funktioniert gut. Es sollte kein & in der URL – Elliott08

Antwort

0

Ich entferne die ‚&‘ in:

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

und es funktioniert fine.There nicht ‚& die in den Ursprungsnamen und das Ziel der Namen, da die Parameter bereits mit dem‘ sein sollte & 'Zeichen und Dies könnte einige Probleme verursachen.

+0

Gut zu wissen, dass. Aber immer noch enthält der vertauschte Ursprung '&' und es scheint perfekt zu funktionieren – Coder

+0

Kannst du die Antwort aktualisieren weil jemand von deiner letzten Zeile fehlgeleitet werden könnte. Es wird '&' in Ihrer Anfrage URL als Ihre senden diese Parameter, d. H. Ursprünge und Ziele – Coder

+0

Sorry wieder, Antwort aktualisiert – Elliott08

Verwandte Themen