Method: computeRouteMatrix

出発地と目的地のリストを受け取り、出発地と目的地の組み合わせごとのルート情報を含むストリームを返します。

注: このメソッドでは、入力にレスポンス フィールド マスクを指定する必要があります。レスポンス フィールド マスクを指定するには、URL パラメータ $fields または fields を使用するか、HTTP/gRPC ヘッダー X-Goog-FieldMask を使用します(使用可能な URL パラメータとヘッダーをご覧ください)。値はカンマ区切りのフィールド フィールドのリストです。詳しくは、フィールドパスの作成方法をご覧ください。

たとえば、次のメソッドを使用します。

  • 使用可能なすべてのフィールドのフィールド マスク(手動検査用): X-Goog-FieldMask: *
  • ルート期間、距離、要素のステータス、状態、要素インデックスのフィールド マスク(本番環境設定の例): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

フィールド マスクに status を含めることが重要です。そうしないと、すべてのメッセージが問題ないように見えます。ワイルドカード(*)レスポンス フィールド マスクの使用はおすすめしません。理由は次のとおりです。

  • 必要なフィールドのみを選択して計算サイクルを短縮することで、より短いレイテンシで結果を返すことができます。
  • 本番環境ジョブに必要なフィールドのみを選択すると、安定したレイテンシのパフォーマンスが確保されます。今後、レスポンス フィールドがさらに追加される可能性があります。また、これらの新しいフィールドでは、追加の計算時間が必要になることがあります。すべてのフィールドを選択するか、トップレベルですべてのフィールドを選択すると、追加された新しいフィールドが自動的にレスポンスに含まれるため、パフォーマンスの低下が発生することがあります。
  • 必要なフィールドのみを選択すると、レスポンス サイズが小さくなり、ネットワーク スループットも高くなります。

HTTP リクエスト

POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix

この URL では gRPC Transcoding 構文を使用します。

リクエスト本文

リクエストの本文には次の構造のデータが含まれます。

JSON 表現
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string,
  "languageCode": string,
  "regionCode": string,
  "extraComputations": [
    enum (ExtraComputation)
  ]
}
フィールド
origins[]

object (RouteMatrixOrigin)

必須。レスポンス行の行を決定する終了元の配列。出発地と目的地のカーディナリティには、いくつかのサイズ制限が適用されます。

  • 要素(出発地 / 目的地)の数は 625 以下にする必要があります。
  • ルーティング設定の TRAFFIC_AWARE_OPTIMAL が設定されている場合、要素(出発地 / 目的地)の数は 100 以下にする必要があります。
  • placeId で指定した地点(出発地 + 目的地)の数は 50 以下にする必要があります。
destinations[]

object (RouteMatrixDestination)

必須。デスティネーションの配列。レスポンス マトリックスの列を決定します。

travelMode

enum (RouteTravelMode)

(省略可)移動手段を指定します。

routingPreference

enum (RoutingPreference)

(省略可)ルートの計算方法を指定します。サーバーは選択したルーティング設定を使用してルートを計算します。ルーティングの設定が原因でエラーが発生した場合や、レイテンシが極端に長い場合は、エラーが返されます。このオプションを指定できるのは、travelModeDRIVE または TWO_WHEELER の場合に限られます。それ以外の場合、リクエストは失敗します。

departureTime

string (Timestamp format)

(省略可)出発時刻。この値を設定しなかった場合、デフォルトでリクエストを行った時刻になります。この値を、すでに発生している時間に設定すると、リクエストは失敗します。

RFC3339 UTC「Zulu」形式のタイムスタンプ。解像度はナノ秒で、小数点以下 9 桁まで指定できます。(例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z")。

languageCode

string

(省略可)「en-US」や「sr-Latn」などの BCP-47 言語コード。詳しくは、http://www.unicode.org/reports/tr35/#Unicode_locale_identifier を参照してください。サポートされている言語の一覧については、言語サポートをご覧ください。この値を指定しない場合は、最初のオリジンの場所から表示言語が推測されます。

regionCode

string

(省略可)ccTLD(「トップレベル ドメイン」)の 2 文字の値として指定される地域コード詳しくは、https://en.wikipedia.org/wiki/List_of_Internet_top-level_domains#Country_code_top-level_domains をご覧ください。

extraComputations[]

enum (ExtraComputation)

(省略可)リクエストを完了するために使用できる追加の計算のリスト。注: これらの追加の計算は、レスポンスで追加のフィールドを返す場合があります。これらの追加フィールドは、レスポンスで返されるフィールド マスクで指定する必要があります。

レスポンスの本文

成功すると、レスポンスの本文に次の構造のデータが含まれます。

出発地と目的地のペアに対して計算されたルート情報を v2.computeRouteMatrix API にカプセル化します。この proto は、クライアントにストリーミングできます。

JSON 表現
{
  "status": {
    object (Status)
  },
  "condition": enum (RouteMatrixElementCondition),
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "originIndex": integer,
  "destinationIndex": integer
}
フィールド
status

object (Status)

この要素のエラー ステータス コード。

condition

enum (RouteMatrixElementCondition)

ルートが見つかったかどうかを示します。ステータスとは無関係です。

distanceMeters

integer

ルートの移動距離(メートル単位)。

duration

string (Duration format)

ルートの移動に必要な時間。routingPreferenceTRAFFIC_UNAWARE に設定する場合、この値は staticDuration と同じです。routingPreferenceTRAFFIC_AWARE または TRAFFIC_AWARE_OPTIMAL に設定すると、交通状況を考慮してこの値が計算されます。

小数点以下 9 桁までの値で、末尾が「s」の秒数です。例: "3.5s"

staticDuration

string (Duration format)

交通状況を考慮せずにルートを走行した時間。

小数点以下 9 桁までの値で、末尾が「s」の秒数です。例: "3.5s"

travelAdvisory

object (RouteTravelAdvisory)

経路に関する追加情報。(制限情報や通行証情報など)。

fallbackInfo

object (FallbackInfo)

サーバーが、この特定の出発地/目的地のペアで指定された設定を使ってルートを計算できない場合、別の計算モードの使用にフォールバックすることがあります。フォールバック モードを使用する場合、このフィールドにはフォールバック レスポンスに関する詳細情報が含まれます。それ以外の場合はこのフィールドが設定されていません。

originIndex

integer

リクエスト内のオリジンのゼロベースのインデックス。

destinationIndex

integer

リクエスト内の宛先のゼロベースのインデックス。

ルート マトリックスの起点

ComputeRouteMatrixRequest の単一の送信元

JSON 表現
{
  "waypoint": {
    object (Waypoint)
  },
  "routeModifiers": {
    object (RouteModifiers)
  }
}
フィールド
waypoint

object (Waypoint)

必須。出発地点

routeModifiers

object (RouteModifiers)

(省略可)これを出発地とするすべてのルートの修飾子

ルート マトリックスの目的地

ComputeRouteMatrixRequest の単一の宛先

JSON 表現
{
  "waypoint": {
    object (Waypoint)
  }
}
フィールド
waypoint

object (Waypoint)

必須。目的地の地点

外算出

リクエストの完了時に実行する追加の計算。

列挙型
EXTRA_COMPUTATION_UNSPECIFIED 不使用。この値を含むリクエストは失敗します。
TOLLS 行列要素の通行情報。

RouteMatrixElementCondition

返されるルートの条件。

列挙型
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED 要素の status が OK でない場合にのみ使用されます。
ROUTE_EXISTS ルートが検出され、要素の対応する情報が入力されました。
ROUTE_NOT_FOUND 経路は見つかりませんでした。distanceMetersduration などのルート情報を含むフィールドは、要素に入力されません。