このガイドでは、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 | 
HTTPS リクエスト本文を使用するように URL パラメータを変換する
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(レガシー)で利用できます。これにより、16,384 文字の URL 上限内に多数の経由地を収めることができます。Routes API では、経由地を緯度/経度の座標として REST または gRPC リクエストの本文で送信できるため、この機能は必要ありません。例については、ルート マトリックスを計算するドキュメントの HTTP の例、または中間経由地を指定するドキュメントの中間経由地を定義するをご覧ください。
パラメータを変換する
次の表に、名前が変更または修正された Directions API と Distance Matrix API のパラメータ、または GA リリースでサポートされていないパラメータを示します。これらのパラメータを使用している場合は、コードを更新してください。
リクエスト パラメータの変換
| Directions または Distance Matrix パラメータ | Routes API パラメータ | メモ | 
|---|---|---|
| alternatives | computeAlternativeRoutes | |
| arrival_time | arrivalTime | TRANSITモードでのみ使用できます。departureTimeと同時に使用することはできません。 | 
| avoid | routeModifiers | |
| departure_time | departureTime | arrivalTimeと同時に使用することはできません。 | 
| language | languageCode | Compute Route でのみサポートされます。 | 
| mode | travelMode | 
 | 
| region | regionCode | |
| traffic_model | trafficModel | 詳細 | 
| transit_mode | "travelMode": "TRANSIT" | Directions API(レガシー)では、公共交通機関のルートにおいて、同じ移動手段(徒歩や公共交通機関など)の旅行の各セグメントが 1 つのステップとみなされ、その移動手段の個々のルート案内はサブステップに含まれます。一方、Routes API では、ステップはすべての移動手段で一貫して 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 Route でのみサポートされます。住所として指定された地点のジオコーディング レスポンス情報のみが含まれます。 | 
| bounds | viewport | |
| legs.end_address | 利用できません。 | |
| legs.start_address | 利用できません。 | |
| overview_polyline | ポリライン | |
| summary | description | |
| waypoint_order | optimizedIntermediateWaypointIndex |