根據一組航站和中繼路線控點,以及一個路徑目標,計算路線目標的最佳路線。也會傳回最快路線和最短路徑做為參考路線。
注意:這個方法需要您在輸入內容中指定回應欄位遮罩。如要提供回應欄位遮罩,您可以使用網址參數 $fields
或 fields
,或是使用 HTTP/gRPC 標頭 X-Goog-FieldMask
(請參閱可用的網址參數和標頭)。值是以逗號分隔的欄位路徑清單。請參閱有關如何建構欄位路徑的詳細說明文件。
例如,在以下方法中:
- 所有可用欄位的欄位遮罩 (適用於手動檢查):
X-Goog-FieldMask: *
- 路線距離、時間長度、代幣和收費資訊的欄位遮罩:
X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo
Google 不建議使用萬用字元 (*
) 回應欄位遮罩,或是在頂層 (routes
) 指定欄位遮罩,原因如下:
- 只選取您需要的欄位有助於我們的伺服器節省運算週期,我們便能縮短傳回結果的延遲時間。
- 只選取實際工作環境工作中所需的欄位,可確保延遲時間穩定。我們日後可能會新增更多回應欄位,而這些新欄位可能需要額外的運算時間。如果選取所有欄位,或是選取頂層欄位的所有欄位,可能會出現成效降低的情形,這是因為我們新增的所有新欄位都會自動納入回應中。
- 因此,如果只選取需要的欄位,回應大小會較小,網路處理量也會提高。
HTTP 要求
POST https://routespreferred.googleapis.com/v1:computeCustomRoutes
這個網址使用 gRPC 轉碼語法。
要求主體
要求主體的資料會採用以下結構:
JSON 表示法 |
---|
{ "origin": { object ( |
欄位 | |
---|---|
origin |
必要欄位。起點路線控點。 |
destination |
必要欄位。目的地路線控點。 |
intermediates[] |
選用設定。沿著路線行經 (不含終點) 的一組路線控點,一種是上下車或經過的路點。最多可支援 25 個中繼路線控點。 |
travelMode |
選用設定。指定交通方式。目前僅支援雲端硬碟。 |
routingPreference |
選用設定。指定路線計算方式。伺服器會嘗試使用所選轉送偏好設定來計算路徑。如果轉送偏好設定產生錯誤或額外的長時間延遲時間,系統會傳回錯誤。日後,我們可能會在偏好選項未提供有效結果時導入備用機制。您只能在 |
polylineQuality |
選用設定。指定折線品質的偏好設定。 |
polylineEncoding |
選用設定。指定折線的偏好編碼。 |
departureTime |
選用設定。出發時間。如果您沒有設定這個值,這個值會預設為您提出要求的時間。如果將這個值設為已發生的時間,要求就會失敗。 RFC3339 世界標準時間「Zulu」格式的時間戳記,採用奈秒解析度,且最多 9 個小數位數。範例: |
routeModifiers |
選用設定。影響路線計算方式的一組條件。 |
routeObjective |
必要欄位。要進行最佳化調整的路徑目標。 |
languageCode |
選用設定。BCP-47 語言代碼,例如「en-US」或「sr-Latn」。詳情請參閱 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。如需支援的語言清單,請參閱語言支援。如果未提供這個值,系統會根據路線要求的位置推測顯示語言。 |
units |
選用設定。為顯示欄位指定測量單位。包括 |
回應主體
如果成功,回應主體會包含 ComputeCustomRoutesResponse
的執行例項。
授權範圍
需要下列 OAuth 範圍:
https://www.googleapis.com/auth/maps-platform.routespreferred
詳情請參閱 OAuth 2.0 總覽。