從 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 中經過重新命名或修改的參數,或是 Google Analytics (分析) 版本不支援的參數。如果您使用的是這些參數,請更新程式碼。

要求參數轉換

Directions 或 Distance Matrix 參數 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" 瞭解詳情

回應參數轉換

Directions 或 Distance Matrix 參數 Routes API 參數 附註
copyrights

未包含在回應中。向使用者顯示結果時,您必須加入以下陳述式:

Powered by Google, ©YEAR Google

例如:

Powered by Google, ©2022 Google

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