Routes API は、ルート、距離、移動時間の計算パフォーマンスが向上しているため、Directions API と Distance Matrix API を使用するアプリを置き換える価値があります。Routes API の機能のほとんどは、Directions API と Distance Matrix API の両方と下位互換性があります。
このガイドでは、Routes API と、Routes API が置き換えるプロダクトとの主な違いと、必要な変更を処理する方法について説明します。他の Routes API 機能の詳細については、プロダクトの概要をご覧ください。
主な改善点
このセクションでは、アプリで Routes API を使用する際に期待できる機能強化について説明します。
リクエスト上限の引き上げ
| Routes API Compute Route Matrix |
|
| Distance Matrix API |
|
リクエストへの迅速な対応
Compute Route Matrix 機能では、レイテンシが次のように改善されています。
- 行列全体の計算が完了する前に、レスポンスのストリーミング要素を受信します。
- フィールド マスクを使用してレスポンスの詳細をカスタマイズし、必要なデータのみをリクエストします。これは、コスト削減にも役立つベスト プラクティスです。
- トラフィックのルート計算を強化。データ品質とレスポンス時間のバランスを調整できます。
ルーティングの機能強化
コンピューティング ルート機能には、次のようなルーティングの強化機能があります。
- 距離と到着予定時刻に加えて、有料道路の情報も表示されます。
- 二輪車用ルート。
- 安全のために、経由地のウェイポイントを検証します。
- ウェイポイントの進行方向と道路の通行側を設定することで、到着予定時刻の精度が向上します。
必要なデータのみをリクエストする
返すフィールドを指定できるようになり、処理時間と課金が削減されます。
| Routes API Compute Routes Compute Route Matrix |
リクエストでは、レスポンスで返すフィールドを指定するためにフィールド マスクを使用する必要があります。フィールド マスキングにより、不要なデータがリクエストされないため、不要な処理時間と課金を回避できます。 詳細については、返すフィールドの選択をご覧ください。 |
| Directions API Distance Matrix API |
アプリで厳密に必要とされない場合でも、デフォルトのフィールド リストを返します。これにより、不要な処理時間と請求料金が発生する可能性があります。 |
交通状況に応じたルート計算の強化
Routes API は、トラフィック情報をリクエストするときにレスポンス レイテンシとデータ品質のバランスを取るために使用できる 3 つのルート設定をサポートしています。
詳細については、品質とレイテンシを構成するをご覧ください。
TRAFFIC_UNAWARE (デフォルト) |
リアルタイムの交通情報ではなく、時間依存性のない平均的な交通情報を使用してルートを計算するため、応答レイテンシが最小になります。この設定は、Directions API と Distance Matrix API で交通情報が使用されていない場合と同じです。 |
TRAFFIC_AWARE (新規) |
レイテンシを短縮するためにパフォーマンスが最適化されたライブ交通情報品質。TRAFFIC_AWARE_OPTIMAL とは対照的に、この設定ではレイテンシを大幅に短縮するための最適化が適用されます。この設定は Routes API でも新しく、Directions API や Distance Matrix API には同等の設定はありません。 |
TRAFFIC_AWARE_OPTIMAL |
高品質で包括的な交通データ。この設定ではレイテンシが最も高くなります。これは、Directions API と Distance Matrix API の departure_time 設定に相当します。この設定は、maps.google.com と Google マップ モバイルアプリで使用されるモードと同等です。 |
ルート計算の比較
次の表に、Routes API と Directions API、Distance Matrix API サービス間のルーティング オプションの比較を示します。
| トラフィック オプション | Routes API | Directions API Distance Matrix API |
レイテンシ |
|---|---|---|---|
| リアルタイムの交通状況なし | TRAFFIC_UNAWARE |
departure_time プロパティが設定されていません |
3 つのモードの中で最もレイテンシが短い。 |
| リアルタイムの交通状況を適用しました | TRAFFIC_AWARE |
同等のものはありません | Routes API によって追加された新しいモード。
|
| 高品質で包括的なリアルタイム交通情報が適用される | TRAFFIC_AWARE_OPTIMAL |
departure_time プロパティ セット |
maps.google.com と Google マップ モバイルアプリで使用されるモードと同等です。 Compute Route Matrix の場合、リクエスト内の要素数(出発地の数 × 目的地の数)は 100 を超えることはできません。 |
主な違い
このセクションでは、Routes API と、Routes API が置き換えるサービスとの主な違いと、既存のアプリでこれらのサービスから移行する際にこれらの違いに対処する方法について説明します。
2 つではなく 1 つのサービスを呼び出す
| Routes API | アプリで Compute Routes と Compute Route Matrix を使用するには、API Console で 1 つのサービスのみを有効にします。 詳細については、Google API Console での設定をご覧ください。 |
| Directions API Distance Matrix API |
API Console で、Directions API と Distance Matrix API の 2 つのサービスを個別に有効にします。 |
HTTPS POST リクエストを使用する
| Routes API | HTTP POST リクエストの一部として、リクエストの本文またはヘッダーでパラメータを渡します。例については、以下をご覧ください。 - ルートを計算する - ルート マトリックスを計算する |
| Directions API Distance Matrix API |
HTTP GET リクエストを使用して URL パラメータを渡します。 |
ETA レスポンスの違い
Routes API は ETA を返します。また、次の表に示すように、Directions API および Distance Matrix API サービスとは異なる方法で duration レスポンス プロパティを使用します。
| 到着予定時刻の種類 | Routes API | Directions API Distance Matrix API |
|---|---|---|
| 交通状況を考慮しない、時間非依存の ETA。 |
|
リクエストで
|
| リアルタイムの交通状況を考慮した到着予定時刻。 |
|
リクエストで
|
ポリラインのウェイポイント
このサービスでは、緯度/経度座標をポリラインの経由地に変換する必要がなくなりました。このサービスは POST リクエストの本文をサポートしているため、URL 文字列の制限の影響を受けなくなりました。Distance Matrix API の一部のユーザーは、緯度/経度ポイントをポリライン ウェイポイントに変換することで、リクエストの上限の問題に対処しました。
フォーマット済み住所(リバース ジオコーディング)
Routes API は、レスポンスでフォーマット済み住所を提供しません。フォーマットされた住所を取得するには、このユースケース向けに構築され、より高品質な結果を提供する Geocoding API を使用します。
利用可能な移動手段
Directions API と同様に、ルート リクエストで移動手段が指定されていない場合、Routes API はデフォルトの手段として DRIVE を使用します。ただし、リクエストでルートの移動手段が指定されている場合、Routes API は、リクエストの代替選択肢として利用可能な移動手段の配列を返しません。ユースケースがこの機能に依存している場合は、この機能の使用方法を説明する問題を登録してください。Google からフォローアップいたします。
レスポンス形式としての XML
Routes API は、レスポンス形式として XML を提供していません。オンラインで JSON から XML への変換ツールを検索すると、目的に合ったツールが見つかります。