このガイドでは、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 文字内に多数の経由地を収めることができます。ルートポイントは REST または gRPC リクエスト本文で緯度と経度の座標として送信できるため、Routes API ではこの機能は必要ありません。例については、ルート マトリックスを計算するドキュメントの HTTP の例をご覧ください。また、中間ウェイポイントを指定するドキュメントの中間ウェイポイントを定義するをご覧ください。
パラメータを変換する
次の表に、名前が変更または変更された Directions API と Distance Matrix API のパラメータ、または一般提供リリースでサポートされていないパラメータを示します。これらのパラメータを使用している場合は、コードを更新してください。
リクエスト パラメータのコンバージョン
経路案内または距離行列のパラメータ | Routes API パラメータ | メモ |
---|---|---|
alternatives |
computeAlternativeRoutes |
|
arrival_time |
arrivalTime |
TRANSIT モードでのみ使用でき、departureTime と同時に使用できません。 |
avoid |
routeModifiers |
|
departure_time |
departureTime |
arrivalTime と同時に使用することはできません。 |
language |
languageCode |
Compute ルートでのみサポートされます。 |
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" |
詳細 |
レスポンス パラメータの変換
経路案内または距離行列のパラメータ | Routes API パラメータ | メモ |
---|---|---|
copyrights |
レスポンスには含まれません。結果をユーザーに表示する際には、次のステートメントを含める必要があります。
次に例を示します。
|
|
distance |
distanceMeters |
距離はメートル単位でのみ指定できます。 |
duration_in_traffic |
duration |
Routes API では削除されました。代わりに duration を使用してください。 |
status |
利用できません。API によって報告されたエラーには、HTTP レスポンス コードを使用します。詳細については、リクエスト エラーを処理するをご覧ください。 | |
geocoded_waypoints |
geocoding_results |
Compute ルートでのみサポートされます。住所として指定されたウェイポイントのジオコーディング レスポンス情報のみが含まれます。 |
bounds |
viewport |
|
legs.end_address |
利用できません。 | |
legs.start_address |
利用できません。 | |
overview_polyline |
ポリライン | |
summary |
description |
|
waypoint_order |
optimizedIntermediateWaypointIndex |