2017-05-02 4 views
-1

Ich versuche, das Google Maps-API aufzurufen, um die Reisezeit zwischen zwei Punkten zu erhalten (einschließlich Datenverkehr). Hier ist, was ich bisher habe:Google Maps API zur Schätzung des Datenverkehrs verwenden

function test(){ 
    //Info: https://developers.google.com/maps/documentation/directions/intro 

    var baseUrl = "https://maps.googleapis.com/maps/api/directions/json?"; 
    var origin = "Redmond+WA"; 
    var destination = "Salem+OR"; 
    var departureTime = "now"; 
    var trafficModel = "pessimistic"; 
    var url = baseUrl + "origin=" + origin + "&destination=" + destination + "&departure_time=" + departureTime + "&traffic_model=" + trafficModel; 
    var response = UrlFetchApp.fetch(url); 
    Logger.log("Google Maps API: " + JSON.parse(response).routes[0].legs[0].duration.text); 
    Logger.log("Full response from API: \n" + response); 
} 

Leider habe ich immer ein Ergebnis von 3 hours 43 mins, egal, wenn ich den Code ausführen (und trotz der Tatsache, dass ich definiert haben departure_time und traffic_model Irgendwelche Vorschläge

.?

(Nebenbei bemerkt, die documentation sagt, dass ich einen API-Schlüssel als erforderlichen Parameter übergeben muss. Offensichtlich - per meinem Code oben - habe ich das noch nicht getan. Aber es hat mich nicht davon abgehalten, zu bekommen Antwort: Könnte dies verhindern, dass ich die traffic_model Parameter verwende?)

Antwort

2

Welches Feld siehst du: Dauer oder Dauer_in_Verkehr?

Gemäß der Dokumentation

duration_in_traffic gibt die Gesamtdauer dieses Bein. Dieser Wert ist eine Schätzung der Zeit im Verkehr basierend auf aktuellen und historischen Verkehrsbedingungen. In dem Parameter traffic_model request finden Sie die Optionen, mit denen Sie anfordern können, dass der zurückgegebene Wert optimistisch, pessimistisch oder geschätzt ist. Die Dauer in Verkehr zurückgegeben wird nur dann, wenn alle folgenden Bedingungen erfüllt sind:

  • Die Anforderung enthält einen gültigen API-Schlüssel oder ein gültiges Google Maps APIs Premium-Paket Client-ID und Unterschrift.

  • Die Anfrage enthält keine Zwischenziel-Wegpunkte. Wenn die Anfrage Wegpunkte enthält, müssen sie mit: vorangestellt werden, um Zwischenstopps zu vermeiden.

  • Die Anforderung bezieht sich speziell auf Fahrtrichtungen - der Modusparameter ist auf Fahren eingestellt.

  • Die Anfrage enthält einen Parameter departure_time.

  • Verkehrsbedingungen sind für die angeforderte Route verfügbar.

https://developers.google.com/maps/documentation/directions/intro#DirectionsResponseElements

Ich verstehe Sie nicht duration_in_traffic Feld sehen können, weil Sie einen API-Schlüssel nicht gelten.

Hoffe es hilft!

+0

Perfekt! 'duration_in_traffic' war was ich gesucht habe (wusste nicht, dass es ein anderes Ergebnis gab als 'duration') Danke! – derekantrican