1 回答

TA貢獻1890條經驗 獲得超9個贊
根據 Google Maps Directions API 服務的官方文檔,只有滿足以下所有條件時才會考慮交通信息:
出行方式參數為driving,或未指定(driving為默認出行方式)。
該請求包含一個有效
departure_time
參數。departure_time
可以設置為當前時間或將來的某個時間。它不可能在過去。該請求不包括中途停留航點。如果請求包含路標,請在每個路標前加上 via: 以影響路線但避免中途停留。例如,&waypoints=via:舊金山|via:山景城|...
來源:https ://developers.google.com/maps/documentation/directions/overview#DirectionsAdvanced
查看您的代碼,我可以看到您使用了中途停留點
waypts.push({
location: companies[i].Address,
stopover: true
});
如果您想考慮實時交通狀況,您應該將航路點的中途停留屬性設置為 false。但是,請注意,在這種情況下,您不能使用航點優(yōu)化,因為根據官方文檔,航點優(yōu)化僅適用于中途停留:
默認情況下,Directions 服務會按給定順序計算通過提供的路標的路線?;蛘?,您可以將 optimize:true 作為路點參數中的第一個參數傳遞,以允許路線服務通過以更有效的順序重新排列路點來優(yōu)化提供的路線。(此優(yōu)化是旅行商問題的應用。)旅行時間是優(yōu)化的主要因素,但在決定哪條路線最有效時,可能會考慮其他因素,例如距離、轉彎次數等。所有航路點都必須是路線服務的中途停留點,以優(yōu)化其路線。
來源:https ://developers.google.com/maps/documentation/directions/overview#OptimizeWaypoints
因此,您必須在交通狀況和航路點優(yōu)化之間做出選擇。這兩件事不可能同時發(fā)生。
添加回答
舉報