このガイドでは、Directions API または Distance Matrix API を使用するアプリを Routes API を使用するように移行する方法について説明します。Routes API の詳細については、 プロダクトの概要をご覧ください。
移行に関する請求のベスト プラクティス
このガイダンスは、API の使用量が 2 段階目の料金体系に移行するほど多い場合に適用されます。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 |
URL パラメータを変換して HTTPS リクエスト本文を使用する
Directions API と Distance Matrix API では、構成プロパティを URL パラメータとして HTTP GET
リクエストに渡します。たとえば、Directions API の場合:
https://maps.googleapis.com/maps/api/directions/outputFormat?parameters
Routes API では、HTTP POST リクエストの一部として、リクエスト本文またはヘッダーにパラメータを渡します。例については、次をご覧ください。
ポリラインでエンコードされた地点を位置の地点に変換する
地点をエンコードされたポリラインとして指定することは、 Directions API(レガシー)で利用できます。これは、URL の上限である 16,384 文字に多数の地点を収めるためです。Routes API では、地点を緯度と経度の座標として REST または gRPC リクエスト本文で送信できるため、この機能は必要ありません。例については、 HTTP の例 をルート マトリックスを計算するドキュメントで、または 中間地点を定義する を中間地点を指定するドキュメントでご覧ください。
パラメータを変換する
次の表に、名前が変更または変更された Directions API と Distance Matrix API のパラメータ、または一般提供版でサポートされていないパラメータを示します。これらのパラメータを使用している場合は、コードを更新してください。
リクエスト パラメータの変換
| Directions または Distance Matrix のパラメータ | 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(レガシー)では、公共交通機関のルートで、同じ移動手段(徒歩や公共交通機関など)の移動区間は 1 つのステップと見なされ、その移動手段の個別のルートはサブステップにあります。一方、 Routes API では、ステップはすべての移動手段で 1 つのナビゲーション指示 です。つまり、各ナビゲーション指示が 1 つのステップになります。 1 つの移動手段で複数のステップがある場合、Routes API は その移動手段のステップの概要を含むメタデータを `stepsOverview` に提供します。このメタデータをリクエストするには、 `routes.legs.stepsOverview` フィールド マスクを使用します。 詳細 |
transit_routing_preference |
transitRoutingPreference |
詳細 |
units |
units |
詳細 |
waypoints |
intermediates |
エンコードされたポリラインのサポートを削除しました。 |
地点の optimize=true |
"optimizeWaypointOrder": "true" |
詳細 |
レスポンス パラメータの変換
| Directions または Distance Matrix のパラメータ | Routes API のパラメータ | メモ |
|---|---|---|
copyrights |
レスポンスに含まれていません。結果をユーザーに表示する場合は、次の ステートメントを含める必要があります。
次に例を示します。
|
|
distance |
distanceMeters |
距離はメートル単位でのみ使用できます。 |
duration_in_traffic |
duration |
Routes API で削除されました。duration を使用してください。 |
status |
利用できません。API によって報告されたエラーには、HTTP レスポンス コードを使用します。詳細については、リクエスト エラーを処理する をご覧ください。 | |
geocoded_waypoints |
geocoding_results |
Compute Routes でのみサポートされています。住所として指定された地点のジオコーディング レスポンス情報のみが含まれます。 |
bounds |
viewport |
|
legs.end_address |
利用できません。 | 高精度のルート設定には、座標ではなくプレイス IDを使用します。プレイス ID には、ルートを正しいアクセス ポイントにスナップするデータが含まれています。
|
legs.start_address |
利用できません。 | |
overview_polyline |
ポリライン | |
summary |
description |
|
waypoint_order |
optimizedIntermediateWaypointIndex |