2017-05-02 4 views
-1

私はGoogle Maps APIを呼び出して、2つのポイント(のトラフィックを含む)の間の移動時間を取得しようとしています。ここで私はこれまで持っているものです。残念ながらGoogle Maps APIを使用してトラフィックを予測する

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); 
} 

、私はいつも、私は、コードを実行するときに関係なく、3 hours 43 minsの結果を取得していない(と私はdeparture_timetraffic_modelを定義しているという事実にもかかわらず、任意の提案

。?

(ちなみに、documentationには、必要なパラメータとしてAPIキーを渡す必要があると書かれています。上記のコードによれば、私はまだこれを行っていませんが、これにより、traffic_modelのパラメータを使用できなくなる可能性がありますか?)

答えて

2

どのフィールドが表示されますか:durationまたはduration_in_traffic?文書によると

duration_in_trafficはこの区間の合計時間を示し

。この値は、現在および過去のトラフィック状況に基づくトラフィックの時間の見積もりです。戻り値が楽観的、悲観的、または最善の推定値であることを要求するために使用できるオプションについては、traffic_modelリクエスト・パラメーターを参照してください。トラフィックの期間は、次のすべてに該当する場合にのみ返されます。

  • 要求は有効なAPIキー、または有効なGoogleマップAPIのプレミアムプランクライアントIDと署名を含んでいます。

  • このリクエストには、途中降機用ウェイポイントは含まれていません。リクエストにウェイポイントが含まれている場合は、via:を先頭に付けて、途中降機を避ける必要があります。

  • リクエストは運転ルート専用です。モードパラメータは運転に設定されています。

  • リクエストにdeparture_timeパラメータが含まれています。

  • 要求されたルートでは、トラフィック状況が利用可能です。

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

私はあなたのAPIキーを適用していないので、あなたは、duration_in_trafficフィールドを見ることはできません理解しています。

希望すると助かります!

+0

完璧! 'duration_in_traffic'は私が探していたものです(' duration'とは異なる結果があったことを認識しませんでした)ありがとう! – derekantrican

関連する問題