2017-05-02 20 views
-1

我試圖調用谷歌地圖API來獲取兩個點之間的旅行時間(包括流量)。下面是我到目前爲止有:使用谷歌地圖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_in_traffic?

根據文檔

duration_in_traffic指示此腿的總持續時間。該值是根據當前和歷史交通狀況估算的交通時間。請參閱traffic_model請求參數,瞭解可用於請求返回的值是樂觀的,悲觀的還是最佳猜測估計值的選項。在流量持續時間僅返回如果滿足以下所有條件都爲真:

  • 該請求包括有效的API密鑰,或者有效的谷歌地圖API的高級計劃客戶ID和簽名。

  • 該請求不包括中途停留點。如果請求包含航點,則必須以via:爲前綴,以避免中途停留。

  • 該請求是專門針對行車路線的 - 模式參數設置爲駕駛。

  • 該請求包含一個departure_time參數。

  • 交通條件可用於請求的路線。

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

我明白你無法看到duration_in_traffic領域,因爲你不申請API密鑰。

希望它有幫助!

+0

完美! 'duration_in_traffic'是我正在尋找的(沒有意識到有一個不同的結果比'duration')謝謝! – derekantrican