Route

始点、終点、中間地点を結ぶ、連結された一連の道路セグメントで構成されるルートをカプセル化します。

JSON 表現
{
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "optimizedIntermediateWaypointIndex": [
    integer
  ]
}
フィールド
legs[]

object (RouteLeg)

ルートを構成する区間(ウェイポイント間の経路セグメント)の集合。各区間は、via 以外の 2 つのウェイポイント間のルートに対応しています。たとえば、中間ウェイポイントがないルートでは、区間が 1 つしかありません。via 以外の中間地点を 1 つ含むルートには 2 つの区間が含まれます。1 つの via 中間地点を含むルートには 1 つの区間が含まれます。経由地の順序は、originintermediatesdestination の地点の順番と同じです。

distanceMeters

integer

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

duration

string (Duration format)

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

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

staticDuration

string (Duration format)

交通状況を考慮せずにルートを移動する時間。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

polyline

object (Polyline)

経路全体のポリライン。このポリラインは、すべての legs を組み合わせたポリラインになります。

description

string

ルートの説明。

warnings[]

string

ルートを表示する際に表示する警告の配列。

viewport

object (Viewport)

ポリラインのビューポート境界ボックス。

travelAdvisory

object (RouteTravelAdvisory)

ルートに関する追加情報。

optimizedIntermediateWaypointIndex[]

integer

ComputeRoutesRequest.optimize_waypoint_order が true に設定されている場合、このフィールドには中間ウェイポイントの最適化された順序が含まれます。それ以外の場合、このフィールドは空になります。たとえば、入力が Origin: LA であるとします。中級者: ダラス、バンゴー、フェニックス、目的地: ニューヨーク最適化された中間ウェイポイントの順序はフェニックス、ダラス、バンゴーです。このフィールドには値 [2, 0, 1] が含まれます。最初の中間地点のインデックスは 0 から始まります。

RouteLeg

via 以外の地点間のセグメントをカプセル化します。

JSON 表現
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  }
}
フィールド
distanceMeters

integer

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

duration

string (Duration format)

区間を移動するのに必要な時間の長さです。route_preferenceTRAFFIC_UNAWARE に設定されている場合、この値は staticDuration と同じです。route_preferenceTRAFFIC_AWARE または TRAFFIC_AWARE_OPTIMAL の場合、この値は交通状況を考慮して計算されます。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

staticDuration

string (Duration format)

区間の移動時間で、交通状況を考慮せずに計算します。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

polyline

object (Polyline)

この区間の全体的なポリライン。これには、各 step のポリラインが含まれます。

startLocation

object (Location)

この区間の始点。指定された origin とは異なる場合があります。たとえば、指定された origin が道路の近くにない場合、これは道路上の地点になります。

endLocation

object (Location)

この区間の終点。指定された destination とは異なる場合があります。たとえば、指定された destination が道路の近くにない場合、これは道路上の地点になります。

steps[]

object (RouteLegStep)

この区間内のセグメントを示すステップの配列。各ステップは、1 つのナビゲーション手順を表します。

travelAdvisory

object (RouteLegTravelAdvisory)

ユーザーに通知する必要のある追加情報(ルート区間で考えられる交通区域の制限など)をカプセル化します。

ポリライン

エンコードされたポリラインをカプセル化します。

JSON 表現
{

  // Union field polyline_type can be only one of the following:
  "encodedPolyline": string,
  "geoJsonLinestring": {
    object
  }
  // End of list of possible types for union field polyline_type.
}
フィールド
共用体フィールド polyline_type。ポリラインのタイプをカプセル化します。デフォルトは encoded_points です。polyline_type は次のいずれかになります。
encodedPolyline

string

ポリライン エンコード アルゴリズムによるポリラインの文字列エンコード

geoJsonLinestring

object (Struct format)

GeoJSON LineString 形式でポリラインを指定します。

RouteLegStep

RouteLeg のセグメントをカプセル化します。ステップは 1 つのナビゲーション命令に対応します。ルートの区間はステップで構成されます。

JSON 表現
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  }
}
フィールド
distanceMeters

integer

このステップの移動距離(メートル単位)。状況によっては、このフィールドに値がない場合があります。

staticDuration

string (Duration format)

交通状況を考慮せずにこのステップを通る移動時間。状況によっては、このフィールドに値がない場合があります。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

polyline

object (Polyline)

このステップに関連付けられたポリライン。

startLocation

object (Location)

このステップの開始位置。

endLocation

object (Location)

このステップの終了場所。

navigationInstruction

object (NavigationInstruction)

ナビゲーション手順。

travelAdvisory

object (RouteLegStepTravelAdvisory)

ユーザーに通知する必要のある追加情報(区間の区間で交通区域制限の可能性など)をカプセル化します。

RouteLegStepTravelAdvisory

ユーザーに通知する必要のある追加情報(区間の区間で交通区域制限の可能性など)をカプセル化します。

JSON 表現
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
フィールド
speedReadingIntervals[]

object (SpeedReadingInterval)

交通量密度の詳細を示す速度読み取り間隔。ルーティング設定が TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL の場合に適用されます。この区間は RouteLegStep のポリライン全体を覆い、重なりません。指定した区間の開始点は、前の区間の終了点と同じです。

例:

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speedReadingIntervals: [A,C), [C,D), [D,G).

RouteLegTravelAdvisory

ユーザーに通知する必要のある追加情報(ルート区間で考えられる交通区域の制限など)をカプセル化します。

JSON 表現
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
フィールド
tollInfo

object (TollInfo)

特定の RouteLeg の通行料金に関する情報をカプセル化します。このフィールドは、RouteLeg で通行料金が発生すると想定される場合にのみ入力されます。このフィールドが設定されていても、estimatesPrice サブフィールドに入力されていない場合は、道路に有料道路が含まれていることが予想されますが、推定料金はわかりません。このフィールドが存在しない場合、RouteLeg では通行料金は発生しません。

speedReadingIntervals[]

object (SpeedReadingInterval)

交通量密度の詳細を示す速度読み取り間隔。ルーティング設定が TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL の場合に適用されます。この区間は RouteLg のポリライン全体を覆い、重なりません。指定した区間の開始点は、前の区間の終了点と同じです。

例:

polyline: A ---- B ---- C ---- D ---- E ---- F ---- G
speedReadingIntervals: [A,C), [C,D), [D,G).