2014-05-12 64 views
2

我使用google maps api來獲取帶有durationInTraffic選項的路線。谷歌地圖在當前交通點的路線指引

var request = { 
    origin: start_address, 
    destination: end_address, 
    waypoints: waypts, 
    durationInTraffic: true, 
    optimizeWaypoints: true, 
    travelMode: tmode 
}; 

directionsService.route(request, function(response, status) { .... 

這是工作的罰款有沒有任何路標的起始和結束地址,如下所示:

Directions with Time in Current Traffic

我的問題是,當我添加一個航點到路由,則「時間在當前的交通「估計不再顯示。

這是API的限制(我發現沒有文檔支持)?或者可能的修復/解決方法,因爲交通信息對我的應用程序非常重要。

+0

您有Maps API for Business,對不對?你有沒有檢查'DirectionsLeg'對象? – MrUpsidown

+0

@MrUpsidown,是的,我有Maps API for Business當然。 DirectionsLeg對象中沒有看到任何交通信息。 –

+0

你應該在'DirectionsLeg'對象中有'duration'和'duration_in_traffic'屬性。這就是文檔所說的:https://developers.google.com/maps/documentation/javascript/reference?csw=1#DirectionsLeg它是未定義的嗎?你可以用你的代碼創建一個小提琴嗎? – MrUpsidown

回答

3

我問了一個類似的問題,問Google的人是否這是因爲我在航點使用stopover = true選項,事實上是這樣。如果您將中途停留設置爲false,則應返回流量中的持續時間。

有當前文檔here

從谷歌在這個小提:

......我們無法預測,你會在中途停留 停多長時間,因此很難給對duration_in_traffic的 進行適當的估計。通過使用非中途停留點,您聲明 您不會停留在這些航點,從而允許我們的服務 估計每條腿的duration_in_traffic。

此外,他們還提到,如果您使用Directions Matrix API,只有起始/目的地對計入您的配額,因此您可以發送多個請求而不會受到額外處罰。

+0

好找。這確實解決了這個問題。中途停留:假 });' –

+0

但是通過這樣做(stopover = false),您不再在每個航點有'腿'響應。任何解決方法,以保持雙腿進入? –