從 Directions API (舊版) 或 Distance Matrix API (舊版) 遷移

歐洲經濟區 (EEA) 開發人員

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

遷移作業的帳單最佳做法

如果您的 API 用量偏高,即將適用第二級定價,請參考這份指南。遷移至新版 API 時,系統也會依據不同的 SKU 計費。為避免在轉換當月產生額外費用,建議您盡可能在月初切換至新的正式版 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 個字元) 內納入大量路線控點。Routes API 不需要這項功能,因為路線控點可以經緯度座標的形式,在 REST 或 gRPC 要求主體中傳輸。如需範例,請參閱「計算路線矩陣」文件中的「HTTP 範例」,或「指定中途停靠點」文件中的「定義中途停靠點」。

轉換參數

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

要求參數轉換

路線或距離矩陣參數 Routes API 參數 附註
alternatives computeAlternativeRoutes
arrival_time arrivalTime 僅適用於 TRANSIT 模式,且無法與 departureTime 同時使用。
avoid routeModifiers
departure_time departureTime 無法與 arrivalTime 同時使用。
language languageCode 僅支援 Compute Routes。
mode travelMode

使用 RouteTravelMode 值 (DRIVE、TWO_WHEELER、WALK、TRANSIT、TRUCK 或 BICYCLE,適用於 computeRoutes),在 computeRoutes 或 computeRouteMatrix HTTP POST JSON 要求主體中傳遞,而非 GET 網址查詢參數。新增對 TWO_WHEELER、TRANSIT 和 TRUCK 的支援。

region regionCode
traffic_model trafficModel 瞭解詳情
transit_mode "travelMode": "TRANSIT" 在 Directions API (舊版) 的大眾運輸路線中,行程中採用相同交通方式 (例如步行或大眾運輸) 的每個區段都視為一個步驟,而該交通方式的個別路線則位於子步驟中。相較之下,Routes API 中的步驟一律是所有類型行程的導覽指示。因此,每則導航指示都是一個步驟。 如果單一交通方式包含多個步驟,Routes API 會在 `stepsOverview` 中提供中繼資料,內含該交通方式的步驟摘要。如要要求這項中繼資料,請使用 `routes.legs.stepsOverview` 欄位遮罩。瞭解詳情。
transit_routing_preference transitRoutingPreference 瞭解詳情
units 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 無法使用。使用 HTTP 回應代碼,瞭解 API 回報的錯誤。詳情請參閱「處理要求錯誤」。
geocoded_waypoints geocoding_results 僅支援 Compute Routes。僅包含指定為地址的路線控點地理編碼回應資訊。
bounds viewport
legs.end_address 不適用。

請使用地點 ID 而非座標,以取得高精確度的路線。地點 ID 包含的資料可將路線對應至正確的存取點。

  • 如果從地址開始:使用 Place Autocomplete 或 Geocoding API 將地址解析為地點 ID。
  • 如果從座標開始:建議使用「搜尋目的地」提供更具意義的位置。單純從座標取得地址可能很複雜,且會導致貼齊錯誤。Routes API 不會將座標反向編碼為地址。
legs.start_address 不適用。
overview_polyline 折線
summary description
waypoint_order optimizedIntermediateWaypointIndex