Routes API に移行する理由

Routes API では、ルート、距離、移動時間の計算のパフォーマンスが向上しているため、現在 Directions API と Distance Matrix API を使用しているアプリを置き換える価値があります。Routes API の機能の大部分は、Directions API と Distance Matrix API の両方と下位互換性があります。

このガイドでは、Routes API と代替プロダクトの主な違いと、必要な変更の処理方法について説明します。Routes API のその他の機能の詳細については、プロダクトの概要をご覧ください。

主な改善点

このセクションでは、アプリで Routes API を使用する際の機能強化について説明します。

リクエスト上限の引き上げ

Routes API
  • 最大 625 個の要素(TRAFFIC_AWARE_OPTIMAL を指定しない限り)。
  • TRAFFIC_AWARE_OPTIMAL の場合、最大 100 個の要素を使用できます。ルーティング設定の拡張をご覧ください。
  • 場所 ID を使って最大 50 個の地点(出発地 + 目的地)を指定できます。
Distance Matrix API
  • 1 回のリクエストで最大 25 か所の出発地または 25 か所の目的地を指定できます。
  • サーバー側のリクエストごとに最大 100 要素(出発地の数 × 目的地の数)。

リクエスト レスポンスの高速化

コンピューティング ルート マトリックス機能を使用すると、レイテンシが次のように改善されます。

  • マトリックス全体の計算が完了する前に、レスポンスのストリーミング要素を受信する
  • フィールド マスクを使用してレスポンスの詳細をカスタマイズし、必要なデータのみをリクエストします。このベスト プラクティスは費用の削減にも役立ちます。
  • トラフィックのルート計算の強化。データ品質とレスポンス時間のトレードオフを調整できます。

ルーティングの機能強化

コンピューティング ルート機能では、次のようなルーティングが強化されます。

  • 距離と到着予定時刻、および通行料金情報
  • 二輪車のルート
  • 安全のために立ち寄り地点の適性を評価します。
  • ウェイポイントの進行方向と道路側を設定することで、ETA の精度が向上しました。

必要なデータのみをリクエストする

返されるフィールドを指定できるようになり、処理時間と請求額が削減されます。

Routes API リクエストでは、フィールド マスクを使用して、レスポンスで返すフィールドを指定する必要があります。フィールド マスキングにより、不要なデータがリクエストされなくなるため、不要な処理時間と課金を回避できます。
詳細については、返されるフィールドを選択するをご覧ください。
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_UNAWARE よりもレイテンシがわずかに大きくなりますが、ETA の品質は低下します。

TRAFFIC_AWARE_OPTIMAL よりもレイテンシが大幅に小さくなります。

高品質で包括的なライブ交通情報が適用されます TRAFFIC_AWARE_OPTIMAL departure_time プロパティ セット

maps.google.com と Google マップ モバイルアプリで使用されるモードと同じです。

Compute Route Matrix の場合、リクエスト内の要素数(出発地の数 × 目的地の数)は 100 を超えることはできません。

主な違い

このセクションでは、Routes API とそれに代わるサービスの主な違いと、既存のアプリでこれらのサービスから移行する際の違いについて説明します。

2 つではなく 1 つのサービスを呼び出す

Routes API API Console で、アプリに対して Compute Routes と Compute Route Matrix を使用できるようにするサービスを 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 パラメータを渡します。

到着予定時刻の応答の差異

以下の表に示すように、Routes API は到着予定時刻を返し、Directions API や Distance Matrix API サービスとは異なる duration レスポンス プロパティを使用します。

到着予定時刻のタイプ Routes API Directions API
Distance Matrix API
交通情報を考慮せず、時間に依存しない到着予定時刻。

TRAFFIC_UNAWARE を使用して設定します。

  • duration レスポンス プロパティに含まれる ETA。
  • durationstaticDuration のレスポンス プロパティには同じ値が含まれます。

リクエストで departure_time が設定されていないことに対応します。

  • duration レスポンス プロパティに含まれる ETA。
  • duration_in_traffic レスポンス プロパティは返されません。
リアルタイムの交通状況を考慮した到着予定時刻。

TRAFFIC_AWARE または TRAFFIC_AWARE_OPTIMAL を使用して設定します。

  • リアルタイムのトラフィックを考慮した ETA は、duration レスポンス プロパティに格納されます。
  • staticDuration レスポンス プロパティには、交通状況を考慮せずにルートの移動時間が含まれます。
  • duration_in_traffic プロパティは返されなくなります。

リクエストの departure_time を使用して設定します。

  • リアルタイムのトラフィックを考慮した ETA は、duration_in_traffic レスポンス プロパティに格納されます。

ポリラインのウェイポイント

このサービスでは、緯度と経度の座標をポリラインの地点に変換する必要がなくなりました。このサービスは POST リクエスト本文をサポートするため、URL 文字列の制限による影響を受けません。Distance Matrix API の一部のユーザーは、緯度と経度の地点をポリラインの地点に変換することで、リクエスト制限の問題に対処しています。

フォーマット済み住所(リバース ジオコーディング)

Routes API のレスポンスでは、書式設定された住所は提供されません。フォーマット済み住所を取得するには、このユースケース用に構築された Geocoding API を使用して、高品質の結果を提供します。

利用可能な移動手段

Directions API と同様、ルート リクエストで交通手段が指定されていない場合、Routes API ではデフォルト モードとして DRIVE が使用されます。ただし、リクエストでルートの移動手段が指定されている場合、Routes API はリクエストの代替選択肢として利用可能な移動手段の配列を返しません。ユースケースがこの機能に依存している場合は、機能の使用方法を説明した問題を提出してください。Google がフォローアップします。

レスポンス形式としての XML

Routes API では、レスポンス形式として XML は提供されていません。目的に合った JSON から XML へのコンバータは、オンラインで多数見つかります。