從 Directions API 或 Distance Matrix API 遷移

本指南將說明如何遷移使用 Directions API 或 Distance Matrix API 的應用程式,改為使用 Routes API。如要進一步瞭解 Routes API,請參閱產品總覽

更新 REST API 端點

更新程式碼以使用新的 Routes API 端點

來自 Directions API

Directions API https://maps.googleapis.com/maps/api/directions/outputFormat?parameters
Routes API https://routes.googleapis.com/directions/v2:computeRoutes

來自 Distance Matrix API

Distance Matrix API https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters
Routes API https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix

轉換網址參數,使用 HTTPS 要求主體

您可以使用 Directions API 和 Distance Matrix API,將設定屬性做為網址參數傳遞給 HTTP GET 要求。以 Directions API 為例:

https://maps.googleapis.com/maps/api/directions/outputFormat?parameters

使用 Routes API,即可在要求主體或標頭中將參數做為 HTTP POST 要求的一部分傳遞。如需範例,請參閱:

將折線編碼的路線控點轉換為位置路線控點

Directions API 中,您可以將路線控點指定為編碼折線,這樣就能在網址限制 (最多 16384 個字元) 中納入大量路線控點。由於路線控點可在 REST 或 gRPC 要求主體中以經緯度座標傳輸,因此不需要在 Routes API 中使用這項功能。如需範例,請參閱計算路徑矩陣文件中的 HTTP 範例,或參閱「指定中繼路線控點」文件的定義中繼路線控點

轉換參數

下表列出已重新命名或修改的 Directions API 和 Distance Matrix API 參數,或是 GA 版本不支援的參數。如果您使用其中任何參數,請更新程式碼。

要求參數轉換

路線或距離矩陣參數 Routes API 參數 附註
alternatives computeAlternativeRoutes
arrival_time arrivalTime 僅可在 TRANSIT 模式下使用,與 departureTime 不相同。
avoid routeModifiers
departure_time departureTime 無法與「arrivalTime」同時使用。
language languageCode 僅支援 Compute 路徑。
mode travelMode

已新增對 TWO_WHEELERTRANSIT 的支援。

region regionCode
traffic_model trafficModel 瞭解詳情
transit_mode "travelMode": "TRANSIT" 在 Directions API 中,系統會將相同交通方式 (例如步行或大眾運輸) 的行程中的每個路段都視為一個步驟,而該交通方式的不同路線則採子步驟。相比之下,在 Routes API 中,步驟是所有交通類型的單一導覽指示。因此,每個導覽指示都是一個步驟。如果在單一交通模式中有多個步驟,Routes API 會在「stepsOverview」中提供中繼資料,當中含有該交通方式的步驟摘要。如要要求這類中繼資料,請使用「routes.legs.stepsOverview」欄位遮罩。瞭解詳情
transit_routing_preference transitRoutingPreference 瞭解詳情
units 不適用於路徑矩陣。
waypoints intermediates 移除對編碼折線的支援。
optimize=true 代表路線控點 "optimizeWaypointOrder": "true" 瞭解詳情

回應參數轉換

路線或距離矩陣參數 Routes API 參數 附註
copyrights

未包含在回覆中。向使用者顯示結果時,您必須加入以下聲明:

Powered by Google, ©YEAR Google

例如:

Powered by Google, ©2022 Google

distance distanceMeters 距離只能以公尺為單位。
duration_in_traffic duration 已從 Routes API 中移除,請使用 duration
status 不適用。針對 API 回報的錯誤,請使用 HTTP 回應代碼。詳情請參閱「處理要求錯誤」一文。
geocoded_waypoints geocoding_results 僅支援 Compute 路徑。僅包含指定為地址的路線控點的地理編碼回應資訊。
bounds viewport
legs.end_address 不適用。
legs.start_address 不適用。
overview_polyline 折線
summary description
waypoint_order optimizedIntermediateWaypointIndex