本指南說明如何將使用 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 個字元的網址限制內,容納大量途經點。由於路線控點可以經緯度座標的形式,在 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 Routes。 | 
| mode | travelMode | 新增對  | 
| 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 | 不會出現在回覆中。向使用者顯示結果時,請務必附上以下聲明: 
 例如: 
 | |
| distance | distanceMeters | 距離只能以公尺為單位。 | 
| duration_in_traffic | duration | 已在 Routes API 中移除,請改用 duration。 | 
| status | 不適用。使用 HTTP 回應代碼,瞭解 API 回報的錯誤。詳情請參閱「處理要求錯誤」。 | |
| geocoded_waypoints | geocoding_results | 僅支援 Compute Routes。僅包含指定為地址的路線控點地理編碼回應資訊。 | 
| bounds | viewport | |
| legs.end_address | 不適用。 | |
| legs.start_address | 不適用。 | |
| overview_polyline | 折線 | |
| summary | description | |
| waypoint_order | optimizedIntermediateWaypointIndex |