Route

Obejmuje trasę, która składa się z szeregu połączonych fragmentów drogi łączących początek, koniec i pośrednie punkty na trasie.

Zapis 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
  ]
}
Pola
legs[]

object (RouteLeg)

Zbiór odcinków (odcinków ścieżki między punktami na trasie) tworzących trasę. Każdy etap odpowiada podróży między dwoma punktami Waypoint niebędącymi via. Na przykład trasa bez pośrednich punktów pośrednich ma tylko jeden etap. Trasa obejmująca jeden pośredni punkt pośredni inny niż via ma dwa etapy. Trasa zawierająca jeden pośredni punkt pośredni via ma jeden etap. Kolejność etapów jest zgodna z kolejnością punktów Waypoints od origin do intermediates do destination.

distanceMeters

integer

Długość trasy w metrach.

duration

string (Duration format)

Czas potrzebny na nawigację po trasie. Jeśli ustawisz routingPreference na TRAFFIC_UNAWARE, ta wartość będzie taka sama jak staticDuration. Jeśli ustawisz routingPreference na TRAFFIC_AWARE lub TRAFFIC_AWARE_OPTIMAL, wartość ta jest obliczana z uwzględnieniem warunków ruchu.

Czas trwania w sekundach z maksymalnie 9 cyframi po przecinku, kończącym się cyframi „s”. Przykład: "3.5s".

staticDuration

string (Duration format)

Czas podróży po trasie bez uwzględniania warunków drogowych.

Czas trwania w sekundach z maksymalnie 9 cyframi po przecinku, kończącym się cyframi „s”. Przykład: "3.5s".

polyline

object (Polyline)

Ogólna linia łamana trasy. Ta linia łamana będzie połączona linią łamaną wszystkich elementów legs.

description

string

Opis trasy.

warnings[]

string

Tablica ostrzeżeń do wyświetlenia przy wyświetlaniu trasy.

viewport

object (Viewport)

Ramka ograniczająca widoczny obszar linii łamanej.

travelAdvisory

object (RouteTravelAdvisory)

Dodatkowe informacje o trasie.

optimizedIntermediateWaypointIndex[]

integer

Jeśli ComputeRoutesRequest.optimize_waypoint_order ma wartość true (prawda), to pole zawiera zoptymalizowaną kolejność pośrednich punktów na trasie. W przeciwnym razie pole jest puste. Załóżmy np., że dane wejściowe to: Origin: LA; średniozaawansowany: Dallas, Bangor, Phoenix; miejsce docelowe: Nowy Jork; a zoptymalizowana kolejność pośrednich punktów pośrednich to: Phoenix, Dallas, Bangor. Następnie pole zawiera wartości [2, 0, 1]. Indeks zaczyna się od 0 dla pierwszego pośredniego punktu pośredniego.

RouteLeg

Obejmuje segment między punktami pośrednimi innymi niż via.

Zapis JSON
{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  }
}
Pola
distanceMeters

integer

Długość odcinka trasy w metrach.

duration

string (Duration format)

Długość czasu potrzebnego na poruszanie się przez nogę. Jeśli route_preference ma wartość TRAFFIC_UNAWARE, ta wartość jest taka sama jak staticDuration. Jeśli route_preference to TRAFFIC_AWARE lub TRAFFIC_AWARE_OPTIMAL, ta wartość jest obliczana z uwzględnieniem warunków drogowych.

Czas trwania w sekundach z maksymalnie 9 cyframi po przecinku, kończącym się cyframi „s”. Przykład: "3.5s".

staticDuration

string (Duration format)

Długość przejazdu przez dany etap obliczona bez uwzględniania warunków drogowych.

Czas trwania w sekundach z maksymalnie 9 cyframi po przecinku, kończącym się cyframi „s”. Przykład: "3.5s".

polyline

object (Polyline)

Ogólna linia łamana dla tej nogi. Obejmuje to też linię łamaną każdego elementu step.

startLocation

object (Location)

Lokalizacja początkowa tego etapu. Ta wartość może się różnić od atrybutu origin. Jeśli na przykład podany origin nie znajduje się w pobliżu drogi, jest to punkt na drodze.

endLocation

object (Location)

Lokalizacja końcowa tej części. Ta wartość może się różnić od atrybutu destination. Jeśli na przykład podany destination nie znajduje się w pobliżu drogi, jest to punkt na drodze.

steps[]

object (RouteLegStep)

Tablica kroków oznaczających segmenty w tym etapie. Każdy krok odpowiada jednej instrukcji nawigacji.

travelAdvisory

object (RouteLegTravelAdvisory)

Zawiera dodatkowe informacje, o których należy poinformować użytkownika, np. możliwe ograniczenia strefy ruchu itp. na etapie trasy.

Linia łamana

Obejmuje zakodowaną linię łamaną.

Zapis 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.
}
Pola
Pole sumy polyline_type. Obejmuje typ linii łamanej. Wartość domyślna to encoded_polyline. polyline_type może mieć tylko jedną z tych wartości:
encodedPolyline

string

kodowanie ciągu łamanego za pomocą algorytmu kodowania wiersza łamanego,

geoJsonLinestring

object (Struct format)

Wskazuje linię łamaną w formacie linii GeoJSON

RouteLegStep

Obejmuje segment elementu RouteLeg. Krok odpowiada jednej instrukcji nawigacji. Etapy trasy składają się z schodów.

Zapis JSON
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  }
}
Pola
distanceMeters

integer

Odległość przebyta w tym kroku wyrażona w metrach. W niektórych przypadkach to pole może nie mieć wartości.

staticDuration

string (Duration format)

Długość podróży na tym etapie bez uwzględniania warunków drogowych. W niektórych przypadkach to pole może nie mieć wartości.

Czas trwania w sekundach z maksymalnie 9 cyframi po przecinku, kończącym się cyframi „s”. Przykład: "3.5s".

polyline

object (Polyline)

Linia łamana powiązana z tym krokiem.

startLocation

object (Location)

Lokalizacja początkowa tego kroku.

endLocation

object (Location)

Lokalizacja końcowa tego kroku.

navigationInstruction

object (NavigationInstruction)

Instrukcje nawigacji.

travelAdvisory

object (RouteLegStepTravelAdvisory)

Zawiera dodatkowe informacje, o których należy poinformować użytkownika, np. możliwe ograniczenia strefy ruchu na etapie etapu.

RouteLegStepTravelAdvisory

Zawiera dodatkowe informacje, o których należy poinformować użytkownika, np. możliwe ograniczenia strefy ruchu na etapie etapu.

Zapis JSON
{
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Pola
speedReadingIntervals[]

object (SpeedReadingInterval)

Szybkość czytania interwałów ze szczegółowym opisem gęstości ruchu. Ma zastosowanie w przypadku preferencji routingu TRAFFIC_AWARE i TRAFFIC_AWARE_OPTIMAL. Przedziały obejmują całą linię łamaną obiektu RouteLegStep bez nakładania się. Punkt początkowy określonego przedziału czasu jest taki sam jak punkt końcowy poprzedniego interwału.

Przykład:

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

RouteLegTravelAdvisory

Zawiera dodatkowe informacje, o których należy poinformować użytkownika, np. możliwe ograniczenia strefy ruchu itp. na etapie trasy.

Zapis JSON
{
  "tollInfo": {
    object (TollInfo)
  },
  "speedReadingIntervals": [
    {
      object (SpeedReadingInterval)
    }
  ]
}
Pola
tollInfo

object (TollInfo)

Zawiera informacje o opłatach w konkretnej RouteLeg. To pole jest wypełniane tylko wtedy, gdy na RouteLeg powinny być dostępne opłaty za przejazd. Jeśli to pole jest ustawione, ale pole podrzędne prognozowania ceny nie zostało wypełnione, spodziewamy się, że droga będzie zawierać drogi płatne, ale nie znamy szacunkowej ceny. Jeśli to pole nie istnieje, na trasie RouteLeg nie jest pobierana opłata.

speedReadingIntervals[]

object (SpeedReadingInterval)

Szybkość czytania interwałów ze szczegółowym opisem gęstości ruchu. Ma zastosowanie w przypadku preferencji routingu TRAFFIC_AWARE i TRAFFIC_AWARE_OPTIMAL. Przedziały obejmują całą linię łamaną obiektu RouteLg bez nakładania się. Punkt początkowy określonego przedziału czasu jest taki sam jak punkt końcowy poprzedniego interwału.

Przykład:

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