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、Intermediates: Dallas, Bangor, Phoenix、Destination: New York、最適化された中間ウェイポイントの順序が Phoenix、Dallas、Bangor であるとします。このフィールドには値 [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_polyline です。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)

注: このフィールドは現在使用されていません。

RouteLegTravelAdvisory

ルート経路上の交通制限など、ユーザーに通知する必要がある追加情報をカプセル化します。

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

object (TollInfo)

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

speedReadingIntervals[]

object (SpeedReadingInterval)

交通量の詳細を示す速度制限区間。TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL のルーティング設定の場合に適用されます。この区間は、RouteLeg のポリライン全体を覆い、重ねてないようにします。指定した区間の開始点は、前の区間の終了点と同じです。

例:

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