Method: computeRoutes

Zwraca główną trasę wraz z opcjonalnymi trasami alternatywnymi, biorąc pod uwagę zestaw punktów docelowych i punktów pośrednich.

UWAGA: ta metoda wymaga podania w danych wejściowych maski pola odpowiedzi. Możesz podać maskę pola odpowiedzi, używając parametru URL $fields lub fields albo nagłówka HTTP/gRPC X-Goog-FieldMask (patrz dostępne parametry i nagłówki URL). Wartość to lista ścieżek pól rozdzielonych przecinkami. Zapoznaj się ze szczegółową dokumentacją dotyczącą tworzenia ścieżek pól.

Na przykład w tej metodzie:

  • Maska pól wszystkich dostępnych pól (do ręcznej kontroli): X-Goog-FieldMask: *
  • Maska pól Czas trwania na poziomie trasy, Odległość i Wielokąt (przykładowa konfiguracja produkcyjna): X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

Nie zalecamy używania symbolu wieloznacznego (*) w masie odpowiedzi ani określania maski pola na najwyższym poziomie (routes), ponieważ:

  • Wybranie tylko tych pól, których potrzebujesz, pomaga naszemu serwerowi oszczędzać cykle obliczeniowe, dzięki czemu możemy zwrócić Ci wynik z mniejszym opóźnieniem.
  • Wybranie tylko tych pól, których potrzebujesz w produkcyjnym zadaniu, zapewnia stabilną wartość opóźnienia. W przyszłości możemy dodać więcej pól odpowiedzi, a to może wydłużyć czas obliczeń. Jeśli wybierzesz wszystkie pola lub wszystkie pola na najwyższym poziomie, może to spowodować pogorszenie wydajności, ponieważ każde nowe pole, które dodamy, będzie automatycznie uwzględniane w odpowiedzi.
  • Wybranie tylko potrzebnych pól powoduje zmniejszenie rozmiaru odpowiedzi, a co za tym idzie, większą przepustowość sieci.

Żądanie HTTP

POST https://routes.googleapis.com/directions/v2:computeRoutes

Adres URL używa składni transkodowania gRPC.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "arrivalTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean,
  "requestedReferenceRoutes": [
    enum (ReferenceRoute)
  ],
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
Pola
origin

object (Waypoint)

Wymagane. Punkt początkowy.

destination

object (Waypoint)

Wymagane. Punkt docelowy.

intermediates[]

object (Waypoint)

Opcjonalnie: zestaw punktów pośrednich na trasie (z wyłączeniem punktów końcowych) do zatrzymania się lub przejazdu obok; Obsługiwanych jest maksymalnie 25 punktów pośrednich.

travelMode

enum (RouteTravelMode)

Opcjonalnie: Określa środek transportu.

routingPreference

enum (RoutingPreference)

Opcjonalnie: Określa sposób obliczania trasy. Serwer próbuje użyć wybranych preferencji routingu do obliczenia trasy. Jeśli preferencja routingu powoduje błąd lub wydłuża czas oczekiwania, zwracany jest błąd. Możesz ustawić tę opcję tylko wtedy, gdy travelMode ma wartość DRIVE lub TWO_WHEELER. W przeciwnym razie żądanie się nie powiedzie.

polylineQuality

enum (PolylineQuality)

Opcjonalnie: Określa preferowaną jakość polilinii.

polylineEncoding

enum (PolylineEncoding)

Opcjonalnie: Określa preferowane kodowanie wielokąta.

departureTime

string (Timestamp format)

Opcjonalnie: Godzina wyjazdu. Jeśli nie ustawisz tej wartości, zostanie ona domyślnie ustawiona na czas wysłania żądania. UWAGA: wartość departureTime możesz określić w przeszłości tylko wtedy, gdy ustawienie RouteTravelMode ma wartość TRANSIT. Podróże tranzytowe są dostępne do 7 dni wstecz lub do 100 dni w przyszłość.

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

arrivalTime

string (Timestamp format)

Opcjonalnie: Godzina przyjazdu. UWAGA: można ustawić tylko wtedy, gdy ustawienie RouteTravelMode ma wartość TRANSIT. Możesz podać wartość departureTime lub arrivalTime, ale nie obie. Podróże tranzytowe są dostępne do 7 dni wstecz lub do 100 dni w przyszłość.

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

computeAlternativeRoutes

boolean

Opcjonalnie: Określa, czy oprócz trasy mają być obliczane alternatywne trasy. W przypadku żądań z punktami pośrednimi nie są zwracane żadne alternatywne trasy.

routeModifiers

object (RouteModifiers)

Opcjonalnie: Zestaw warunków, które należy spełnić, a które wpływają na sposób obliczania tras.

languageCode

string

Opcjonalnie: Kod języka BCP-47, np. „pl-PL” lub „sr-Latn”. Więcej informacji znajdziesz w artykule Identyfikator języka w standardzie Unicode. Listę obsługiwanych języków znajdziesz w sekcji Obsługiwane języki. Jeśli nie podasz tej wartości, język wyświetlania zostanie wywnioskowany na podstawie lokalizacji żądania trasy.

regionCode

string

Opcjonalnie: Kod regionu podany jako 2-znakowa wartość ccTLD („domena najwyższego poziomu”). Więcej informacji znajdziesz w artykule Domena krajowa najwyższego poziomu.

units

enum (Units)

Opcjonalnie: Określa jednostki miary dla pól wyświetlania. Te pola obejmują pole instruction w sekcji NavigationInstruction. Ta wartość nie ma wpływu na jednostki miary używane w przypadku trasy, etapu, odległości kroku i czasu trwania. Jeśli nie podasz tej wartości, jednostki wyświetlania zostaną wywnioskowane na podstawie lokalizacji pierwszego punktu początkowego.

optimizeWaypointOrder

boolean

Opcjonalnie: Jeśli ta opcja ma wartość Prawda, usługa próbuje zminimalizować całkowity koszt trasy przez zmianę kolejności podanych punktów pośrednich. Żądanie nie powiedzie się, jeśli któryś z punktów pośrednich jest punktem pośrednim via. Aby znaleźć nową kolejność, użyj ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index. Jeśli w nagłówku X-Goog-FieldMask nie ma informacji o ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index, żądanie się nie powiedzie. Jeśli opcja optimizeWaypointOrder ma wartość Fałsz, opcja ComputeRoutesResponse.optimized_intermediate_waypoint_index będzie pusta.

requestedReferenceRoutes[]

enum (ReferenceRoute)

Opcjonalnie: Określa, jakie trasy referencyjne mają być obliczane w ramach żądania oprócz trasy domyślnej. Trasa referencyjna to trasa, która ma inny cel obliczenia niż trasa domyślna. Na przykład obliczenie trasy referencyjnej FUEL_EFFICIENT uwzględnia różne parametry, które pozwoliłyby wygenerować optymalną trasę o niskim zużyciu paliwa. Podczas korzystania z tej funkcji szukaj routeLabels na uzyskanych trasach.

extraComputations[]

enum (ExtraComputation)

Opcjonalnie: Lista dodatkowych obliczeń, które mogą być użyte do wykonania żądania. Uwaga: te dodatkowe obliczenia mogą zwrócić dodatkowe pola w odpowiedzi. Te dodatkowe pola muszą też być określone w masce pola, aby mogły być zwracane w odpowiedzi.

trafficModel

enum (TrafficModel)

Opcjonalnie: Określa założenia stosowane podczas obliczania czasu w ruchu. To ustawienie wpływa na wartość zwracaną w polu Czas trwania w elementach RouteRouteLeg, która zawiera przewidywany czas trwania ruchu na podstawie średnich historycznych. Opcja TrafficModel jest dostępna tylko w przypadku żądań, w których parametr RoutingPreference ma wartość TRAFFIC_AWARE_OPTIMAL, a parametr RouteTravelMode – wartość DRIVE. Jeśli żądany jest ruch, a wartość TrafficModel nie została podana, domyślnie przyjmuje się BEST_GUESS.

transitPreferences

object (TransitPreferences)

Opcjonalnie: Określa preferencje, które wpływają na trasę zwróconą dla tras TRANSIT. UWAGA: możesz określić wartość transitPreferences tylko wtedy, gdy ustawienie RouteTravelMode ma wartość TRANSIT.

Treść odpowiedzi

v2.computeRoutes wiadomość z odpowiedzią.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "routes": [
    {
      object (Route)
    }
  ],
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "geocodingResults": {
    object (GeocodingResults)
  }
}
Pola
routes[]

object (Route)

Jeśli podasz parametr compute_alternatives_routes, zawiera tablicę obliczonych tras (maksymalnie 3), a jeśli nie, zawiera tylko jedną trasę. Jeśli tablica zawiera wiele wpisów, pierwszy z nich jest najlepszą trasą. Jeśli tablica jest pusta, oznacza to, że nie udało się znaleźć trasy.

fallbackInfo

object (FallbackInfo)

W niektórych przypadkach, gdy serwer nie może obliczyć trasy z uwzględnieniem wszystkich preferencji, może użyć innego sposobu obliczeń. Gdy używany jest tryb zapasowy, to pole zawiera szczegółowe informacje o odpowiednich odpowiedziach. W przeciwnym razie to pole nie jest skonfigurowane.

geocodingResults

object (GeocodingResults)

Zawiera informacje o odpowiedziałych za pomocą geokodowania punktach kontrolnych podanych jako adresy.

PolylineQuality

Zestaw wartości określających jakość polilinii.

Wartości w polu enum
POLYLINE_QUALITY_UNSPECIFIED Nie określono preferencji jakości ścieżki wielopunktowej. Domyślna wartość to OVERVIEW.
HIGH_QUALITY Określa wielobok wysokiej jakości, który jest tworzony z większą liczbą punktów niż OVERVIEW, co powoduje zwiększenie rozmiaru odpowiedzi. Użyj tej wartości, gdy potrzebujesz większej precyzji.
OVERVIEW Określa ścieżkę ogólną, która jest zbudowana z małej liczby punktów. Użyj tej wartości, aby wyświetlić ogólny widok trasy. W przypadku tej opcji czas oczekiwania na żądanie jest krótszy niż w przypadku opcji HIGH_QUALITY.

PolylineEncoding

Określa preferowany typ wielokąta do zwrócenia.

Wartości w polu enum
POLYLINE_ENCODING_UNSPECIFIED Nie określono preferowanego typu łańcucha wielokątów. Domyślna wartość to ENCODED_POLYLINE.
ENCODED_POLYLINE Określa linię łamaną zakodowaną za pomocą algorytmu kodowania linii łamanej.
GEO_JSON_LINESTRING Określa wielokąt w formacie GeoJSON LineString.

ReferenceRoute

Obsługiwana trasa referencyjna w ComputeRoutesRequest.

Wartości w polu enum
REFERENCE_ROUTE_UNSPECIFIED Nieużywane. Prośby zawierające tę wartość nie są realizowane.
FUEL_EFFICIENT Trasa z najniższym spalaniem.
SHORTER_DISTANCE

Trasa o krótszym dystansie. To funkcja eksperymentalna.

W przypadku żądań DRIVE ta funkcja stawia na pierwszym miejscu krótszą odległość, a nie na komforcie jazdy. Może na przykład preferować drogi lokalne zamiast autostrad, wybierać drogi gruntowe, omijać parkingi itp. Ta funkcja nie zwraca żadnych manewrów, które według Map Google są nielegalne.

W przypadku żądań BICYCLETWO_WHEELER ta funkcja zwraca trasy podobne do tych, które są zwracane, gdy nie podasz parametru requestedReferenceRoutes.

Ta funkcja nie jest zgodna z żadnymi innymi trybami podróży, punktami pośrednimi ani optimizeWaypointOrder. Takie prośby nie będą realizowane. Możesz jednak używać go z dowolnym routingPreference.

ExtraComputation

dodatkowe obliczenia do wykonania podczas realizacji prośby;

Wartości w polu enum
EXTRA_COMPUTATION_UNSPECIFIED Nieużywane. Żądania zawierające tę wartość nie zostaną zrealizowane.
TOLLS informacje o opłatach za przejazd na trasie lub trasach;
FUEL_CONSUMPTION Szacowane zużycie paliwa na trasie.
TRAFFIC_ON_POLYLINE Odcinki polilinii uwzględniające natężenie ruchu na trasach.
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions w formacie sformatowanego ciągu tekstowego HTML. Te treści są przeznaczone do odczytu w postaci, w której zostały przesłane. Są one przeznaczone wyłącznie do wyświetlania. Nie analizuj go programowo.
FLYOVER_INFO_ON_POLYLINE informacje o przelocie nad trasą lub trasami. Aby zwrócić te informacje, musisz podać maskę pola routes.polyline_details.flyover_info. Obecnie te dane będą wypełniane tylko w przypadku niektórych aglomeracji w Indiach. Ta funkcja jest eksperymentalna, a cena/opłata może ulec zmianie.
NARROW_ROAD_INFO_ON_POLYLINE informacje o drogach na wybranych odcinkach trasy, Aby zwrócić te informacje, musisz podać maskę pola routes.polyline_details.narrow_road_info. Obecnie te dane będą wypełniane tylko w przypadku niektórych aglomeracji w Indiach. Ta funkcja jest eksperymentalna, a cena/opłata może ulec zmianie.

Trasa

Zawiera trasę, która składa się z serii połączonych odcinków dróg łączących punkty początkowe, końcowe i pośrednie.

Zapis JSON
{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "optimizedIntermediateWaypointIndex": [
    integer
  ],
  "localizedValues": {
    object (RouteLocalizedValues)
  },
  "routeToken": string,
  "polylineDetails": {
    object (PolylineDetails)
  }
}
Pola
routeLabels[]

enum (RouteLabel)

Etykiety dla Route, które są przydatne do identyfikowania konkretnych właściwości trasy do porównania z innymi.

legs[]

object (RouteLeg)

zbiór odcinków (segmentów ścieżki między punktami orientacyjnymi), które tworzą trasę; Każdy etap odpowiada przejazdowi między dwoma stacjami, które nie są stacjami via.Waypoints Na przykład trasa bez pośrednich punktów kontrolnych ma tylko 1 etap. Trasa, która zawiera co najmniej 1 punkt pośredni inny niż via, ma 2 części. Trasa, która zawiera 1 współrzędną pośrednią via, ma 1 etap. Kolejność odcinków odpowiada kolejności punktów pośrednich od origin do intermediates do destination.

distanceMeters

integer

Odległość do przebycia na trasie w metrach.

duration

string (Duration format)

Czas potrzebny na przejechanie trasy. Jeśli ustawisz wartość routingPreference na TRAFFIC_UNAWARE, będzie ona taka sama jak wartość staticDuration. Jeśli ustawisz parametr routingPreference na wartość TRAFFIC_AWARE lub TRAFFIC_AWARE_OPTIMAL, ta wartość zostanie obliczona z uwzględnieniem warunków ruchu.

Czas w sekundach z maksymalnie 9 miejscami po przecinku, zakończony literą „s”. Przykład: "3.5s".

staticDuration

string (Duration format)

Czas przejazdu po trasie bez uwzględnienia warunków na drodze.

Czas w sekundach z maksymalnie 9 miejscami po przecinku, zakończony literą „s”. Przykład: "3.5s".

polyline

object (Polyline)

Linia łamana całej trasy. Ta polilinia jest połączoną polilinią wszystkich legs.

description

string

Opis trasy.

warnings[]

string

Tablica ostrzeżeń wyświetlanych podczas wyświetlania trasy.

viewport

object (Viewport)

Ramka ograniczająca widoczny obszar linii łamanej.

travelAdvisory

object (RouteTravelAdvisory)

dodatkowe informacje o trasie.

optimizedIntermediateWaypointIndex[]

integer

Jeśli ustawisz optimizeWaypointOrder na Prawda, to pole będzie zawierać zoptymalizowane uporządkowanie punktów pośrednich. W przeciwnym razie to pole jest puste. Jeśli np. podasz następujące dane: punkt początkowy: Los Angeles; pośrednie punkty drogi: Dallas, Bangor, Phoenix; punkt docelowy: Nowy Jork, a zoptymalizowany porządek pośrednich punktów drogi to Phoenix, Dallas, Bangor, to to pole będzie zawierać wartości [2, 0, 1]. Indeks zaczyna się od 0 w przypadku pierwszego podanego w danych punktu pośredniego.

localizedValues

object (RouteLocalizedValues)

Tekstowe reprezentacje właściwości Route.

routeToken

string

Nieprzezroczysty token, który można przekazać do Navigation SDK w celu odtworzenia trasy podczas nawigacji. W przypadku zmiany trasy token ten zachowuje pierwotny zamiar podczas tworzenia trasy. Traktuj ten token jako nieprzejrzysty blok danych. Nie porównuj wartości w różnych żądaniach, ponieważ może się ona zmieniać, nawet jeśli usługa zwróci dokładnie tę samą trasę.

UWAGA: Route.route_token jest dostępna tylko w przypadku żądań, w których parametr ComputeRoutesRequest.routing_preference ma wartość TRAFFIC_AWARE lub TRAFFIC_AWARE_OPTIMAL. Route.route_token nie jest obsługiwana w przypadku żądań zawierających punkty pośrednie.

polylineDetails

object (PolylineDetails)

Zawiera informacje o szczegółach na ścieżce wielokąta.

RouteLabel

Etykiety dla Route, które są przydatne do identyfikowania konkretnych właściwości trasy do porównania z innymi.

Wartości w polu enum
ROUTE_LABEL_UNSPECIFIED Domyślnie – nieużywane.
DEFAULT_ROUTE Domyślna „najlepsza” trasa zwrócona w wyniku obliczenia trasy.
DEFAULT_ROUTE_ALTERNATE alternatywa dla domyślnej „najlepszej” trasy; Gdy podasz parametr computeAlternativeRoutes, zostaną zwrócone takie trasy.
FUEL_EFFICIENT Trasa z najniższym spalaniem. Trasy oznaczone tą wartością są optymalizowane pod kątem parametrów ekologicznych, takich jak zużycie paliwa.
SHORTER_DISTANCE Trasa o krótszej długości. To funkcja eksperymentalna.

RouteLeg

zawiera segment między punktami kontrolnymi, które nie są punktami via;

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

integer

Odległość do pokonania na etapie trasy w metrach.

duration

string (Duration format)

Czas potrzebny na przebycie odcinka. Jeśli wartość route_preference to TRAFFIC_UNAWARE, jest ona taka sama jak wartość staticDuration. Jeśli wartość route_preference to TRAFFIC_AWARE lub TRAFFIC_AWARE_OPTIMAL, jest ona obliczana z uwzględnieniem warunków ruchu.

Czas w sekundach z maksymalnie 9 miejscami po przecinku, zakończony literą „s”. Przykład: "3.5s".

staticDuration

string (Duration format)

Czas przejazdu na danej trasie, obliczony bez uwzględnienia warunków ruchu.

Czas w sekundach z maksymalnie 9 miejscami po przecinku, zakończony literą „s”. Przykład: "3.5s".

polyline

object (Polyline)

Ogólna linia łamana tego etapu, która obejmuje linie łamane poszczególnych step.

startLocation

object (Location)

Lokalizacja początkowa tego etapu. Ta lokalizacja może być inna niż podana origin. Jeśli na przykład podany punkt origin nie znajduje się w pobliżu drogi, jest to punkt na drodze.

endLocation

object (Location)

Miejsce docelowe tego etapu. Ta lokalizacja może być inna niż podana destination. Jeśli na przykład podany punkt destination nie znajduje się w pobliżu drogi, jest to punkt na drodze.

steps[]

object (RouteLegStep)

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

travelAdvisory

object (RouteLegTravelAdvisory)

Zawiera dodatkowe informacje, które użytkownik powinien poznać, np. możliwe ograniczenia dotyczące stref ruchu, na etapie trasy.

localizedValues

object (RouteLegLocalizedValues)

Tekstowe reprezentacje właściwości RouteLeg.

stepsOverview

object (StepsOverview)

Informacje ogólne o krokach w tym RouteLeg. To pole jest wypełniane tylko w przypadku tras transportu publicznego.

Linia łamana

Zawiera 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 unii polyline_type. Zawiera typ linii łamany. Wartość domyślna to encoded_polyline. polyline_type może być tylko jednym z tych elementów:
encodedPolyline

string

Kodowanie ciągu znaków linii łamanej za pomocą algorytmu kodowania linii łamanej

geoJsonLinestring

object (Struct format)

Określa wielokąt w formacie GeoJSON LineString.

RouteLegStep

Zawiera segment ciągu RouteLeg. Krok odpowiada pojedynczej instrukcji nawigacyjnej. Odcinki trasy składają się z etapów.

Zapis JSON
{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelAdvisory": {
    object (RouteLegStepTravelAdvisory)
  },
  "localizedValues": {
    object (RouteLegStepLocalizedValues)
  },
  "transitDetails": {
    object (RouteLegStepTransitDetails)
  },
  "travelMode": enum (RouteTravelMode)
}
Pola
distanceMeters

integer

Odległość do pokonania na tym etapie w metrach. W niektórych okolicznościach to pole może nie zawierać wartości.

staticDuration

string (Duration format)

Czas przejazdu na tym etapie bez uwzględniania warunków na drodze. W niektórych okolicznościach to pole może nie zawierać wartości.

Czas w sekundach z maksymalnie 9 miejscami po przecinku, zakończony literą „s”. Przykład: "3.5s".

polyline

object (Polyline)

Polilinia powiązana z tym krokiem.

startLocation

object (Location)

Lokalizacja początkowa tego kroku.

endLocation

object (Location)

Miejsce zakończenia tego kroku.

navigationInstruction

object (NavigationInstruction)

wskazówki dotyczące nawigacji,

travelAdvisory

object (RouteLegStepTravelAdvisory)

Zawiera dodatkowe informacje, o których użytkownik powinien zostać poinformowany, np. o możliwych ograniczeniach w strefach ruchu, na etapie podróży.

localizedValues

object (RouteLegStepLocalizedValues)

Tekstowe reprezentacje właściwości RouteLegStep.

transitDetails

object (RouteLegStepTransitDetails)

Szczegóły dotyczące tego etapu, jeśli tryb podróży to TRANSIT.

travelMode

enum (RouteTravelMode)

Tryb podróży użyty na tym kroku.

Manewr

Zestaw wartości określający działanie nawigacyjne, które należy wykonać w bieżącym kroku (np. skręć w lewo, włącz się do głównej drogi lub jedź prosto).

Wartości w polu enum
MANEUVER_UNSPECIFIED Nieużywane.
TURN_SLIGHT_LEFT Skręć lekko w lewo.
TURN_SHARP_LEFT Skręć ostro w lewo.
UTURN_LEFT Skręć w lewo.
TURN_LEFT Skręć w lewo.
TURN_SLIGHT_RIGHT Skręć lekko w prawo.
TURN_SHARP_RIGHT Skręć ostro w prawo.
UTURN_RIGHT wykonać skręt w prawo.
TURN_RIGHT Skręć w prawo.
STRAIGHT Jedź prosto.
RAMP_LEFT Zjedź zjazdem po lewej stronie.
RAMP_RIGHT Skręć w prawo.
MERGE Włącz się do ruchu.
FORK_LEFT Skręć w lewo.
FORK_RIGHT Skręć w prawo.
FERRY Promem.
FERRY_TRAIN Weź pociąg na prom.
ROUNDABOUT_LEFT Skręć w lewo na rondzie.
ROUNDABOUT_RIGHT Na rondzie skręć w prawo.
DEPART Manewr początkowy.
NAME_CHANGE Służy do wskazania zmiany nazwy ulicy.

RouteLegStepTravelAdvisory

Zawiera dodatkowe informacje, o których użytkownik powinien zostać poinformowany, np. możliwe ograniczenia dotyczące stref ruchu na etapie podróży.

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

object (SpeedReadingInterval)

UWAGA: to pole jest obecnie puste.

RouteLegStepLocalizedValues

tekstowe reprezentacje niektórych właściwości;

Zapis JSON
{
  "distance": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Pola
distance

object (LocalizedText)

Odległość do pokonania w formie tekstowej.

staticDuration

object (LocalizedText)

Czas trwania bez uwzględniania warunków na drodze, podany w formie tekstowej.

RouteLegStepTransitDetails

Dodatkowe informacje dotyczące RouteLegStep związane z trasami TRANSIT.

Zapis JSON
{
  "stopDetails": {
    object (TransitStopDetails)
  },
  "localizedValues": {
    object (TransitDetailsLocalizedValues)
  },
  "headsign": string,
  "headway": string,
  "transitLine": {
    object (TransitLine)
  },
  "stopCount": integer,
  "tripShortText": string
}
Pola
stopDetails

object (TransitStopDetails)

Informacje o przystankach docelowych i odjazdowych na danym etapie.

localizedValues

object (TransitDetailsLocalizedValues)

Tekstowe reprezentacje właściwości RouteLegStepTransitDetails.

headsign

string

Określa kierunek jazdy na tej linii, jak jest oznaczone na pojeździe lub na przystanku. Kierunek jest często stacją końcową.

headway

string (Duration format)

Określa przewidywany czas jako czas trwania przejazdu z jednego przystanku w danym momencie. Jeśli na przykład wartość headway w sekundach wynosi 600, w przypadku spóźnienia autobusu musisz się liczyć z 10-minutowym oczekiwaniem.

Czas w sekundach z maksymalnie 9 miejscami po przecinku, zakończony literą „s”. Przykład: "3.5s".

transitLine

object (TransitLine)

Informacje o linii transportu publicznego użytej na tym etapie.

stopCount

integer

Liczba przystanków od przystanku początkowego do przystanku docelowego. Liczba ta obejmuje przystanek docelowy, ale nie uwzględnia przystanku początkowego. Jeśli na przykład trasa zaczyna się na przystanku A, przechodzi przez przystanki B i C i kończy na przystanku D,

stopCount

zwraca 3.

tripShortText

string

Tekst, który pojawia się w rozkładach i na tablicach informacyjnych, aby wskazać pasażerom przejazd tranzytowy. Tekst powinien jednoznacznie identyfikować przejazd w ramach dnia usługi. Na przykład „538” to tripShortText pociągu Amtrak, który w dni powszednie o 15:10 odjeżdża z San Jose w Kalifornii do Sacramento w Kalifornii.

TransitStopDetails

Szczegóły dotyczące przystanków transportu publicznego dla RouteLegStep.

Zapis JSON
{
  "arrivalStop": {
    object (TransitStop)
  },
  "arrivalTime": string,
  "departureStop": {
    object (TransitStop)
  },
  "departureTime": string
}
Pola
arrivalStop

object (TransitStop)

Informacje o przystanku docelowym dla danego kroku.

arrivalTime

string (Timestamp format)

Szacowany czas dotarcia do miejsca docelowego.

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

departureStop

object (TransitStop)

Informacje o przystanku początkowym dla danego kroku.

departureTime

string (Timestamp format)

Szacowany czas wylotu.

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

TransitStop

informacje o przystanku transportu publicznego;

Zapis JSON
{
  "name": string,
  "location": {
    object (Location)
  }
}
Pola
name

string

Nazwa przystanku.

location

object (Location)

Lokalizacja przystanku wyrażona w współrzędnych szerokości i długości geograficznej.

TransitDetailsLocalizedValues

Zlokalizowane opisy wartości parametru RouteTransitDetails.

Zapis JSON
{
  "arrivalTime": {
    object (LocalizedTime)
  },
  "departureTime": {
    object (LocalizedTime)
  }
}
Pola
arrivalTime

object (LocalizedTime)

Czas w sformatowanej postaci tekstowej z odpowiednią strefą czasową.

departureTime

object (LocalizedTime)

Czas w sformatowanej postaci tekstowej z odpowiednią strefą czasową.

LocalizedTime

Zlokalizowany opis czasu.

Zapis JSON
{
  "time": {
    object (LocalizedText)
  },
  "timeZone": string
}
Pola
time

object (LocalizedText)

Czas określony jako ciąg znaków w danej strefie czasowej.

timeZone

string

Zawiera strefę czasową. Wartość to nazwa strefy czasowej zdefiniowana w bazie danych stref czasowych IANA, np. „America/New_York”.

TransitLine

Zawiera informacje o trasie transportu publicznego użytej na tym etapie.

Zapis JSON
{
  "agencies": [
    {
      object (TransitAgency)
    }
  ],
  "name": string,
  "uri": string,
  "color": string,
  "iconUri": string,
  "nameShort": string,
  "textColor": string,
  "vehicle": {
    object (TransitVehicle)
  }
}
Pola
agencies[]

object (TransitAgency)

Przewoźnik (lub przewoźnicy) obsługujący tę linię transportu publicznego.

name

string

Pełna nazwa tej linii transportu publicznego, np. „8 Avenue Local”.

uri

string

URI tej linii transportu publicznego podany przez przewoźnika.

color

string

Kolor często używany w oznakowaniu tej linii. W formacie szesnastkowym.

iconUri

string

Identyfikator URI ikony powiązanej z tą linią.

nameShort

string

Krótka nazwa tej linii transportu publicznego. Zwykle jest to numer linii, np. „M7” lub „355”.

textColor

string

Kolor powszechnie używany w tekście na tabliczkach tej linii. W formacie szesnastkowym.

vehicle

object (TransitVehicle)

Typ pojazdu, który obsługuje tę linię transportu publicznego.

TransitAgency

Operator linii transportu publicznego.

Zapis JSON
{
  "name": string,
  "phoneNumber": string,
  "uri": string
}
Pola
name

string

Nazwa tego przewoźnika.

phoneNumber

string

Numer telefonu firmy transportowej w danym regionie.

uri

string

Identyfikator URI przewoźnika.

TransitVehicle

Informacje o pojazdach używanych na trasach tranzytowych.

Zapis JSON
{
  "name": {
    object (LocalizedText)
  },
  "type": enum (TransitVehicleType),
  "iconUri": string,
  "localIconUri": string
}
Pola
name

object (LocalizedText)

Nazwa tego pojazdu, pisana wielkimi literami.

type

enum (TransitVehicleType)

Typ pojazdu.

iconUri

string

Identyfikator URI ikony powiązanej z tym typem pojazdu.

localIconUri

string

Identyfikator URI ikony powiązanej z tym typem pojazdu na podstawie lokalnych znaków drogowych.

TransitVehicleType

Typ pojazdu na trasach tranzytowych.

Wartości w polu enum
TRANSIT_VEHICLE_TYPE_UNSPECIFIED Nieużywane.
BUS Autobus.
CABLE_CAR Pojazd poruszający się na kablu, zwykle na ziemi. Koleje linowe mogą być typu GONDOLA_LIFT.
COMMUTER_TRAIN Kolej podmiejska.
FERRY Prom.
FUNICULAR Pojazd ciągnięty na stromym wzniesieniu za pomocą kabla. Kolejka linowa składa się zwykle z 2 wagoników, z których każdy jest przeciwwagą dla drugiego.
GONDOLA_LIFT Kolej gondolowa.
HEAVY_RAIL Koleje ciężkie.
HIGH_SPEED_TRAIN Pociąg szybkobieżny.
INTERCITY_BUS Autobus dalekobieżny.
LONG_DISTANCE_TRAIN Pociąg dalekobieżny.
METRO_RAIL Kolej miejska.
MONORAIL Kolej jednoszynowa.
OTHER Wszystkie inne pojazdy.
RAIL Rail.
SHARE_TAXI W taksówce na żądanie pasażerowie mogą wsiadać i wysiadać w dowolnym miejscu na trasie.
SUBWAY Podziemna kolej miejska.
TRAM Kolej miejska na powierzchni.
TROLLEYBUS Trolejbus.

RouteLegTravelAdvisory

Zawiera dodatkowe informacje, o których użytkownik powinien zostać poinformowany na etapie podróży, np. o możliwych ograniczeniach strefy ruchu.

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

object (TollInfo)

Zawiera informacje o mytach na określonym RouteLeg. To pole jest wypełniane tylko wtedy, gdy spodziewamy się opłat za przejazd RouteLeg. Jeśli to pole jest ustawione, ale podpole estimatedPrice jest puste, zakładamy, że droga zawiera opłaty za przejazd, ale nie znamy szacunkowej ceny. Jeśli to pole nie istnieje, oznacza to, że na RouteLeg nie ma płatnego odcinka drogi.

speedReadingIntervals[]

object (SpeedReadingInterval)

Interwały szybkości czytania określające gęstość ruchu. Dotyczy preferencji routingu TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL. Interwały obejmują cały poligon RouteLeg bez nakładania się. Punkt początkowy określonego przedziału czasowego jest taki sam jak punkt końcowy poprzedniego przedziału czasowego.

Przykład:

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

RouteLegLocalizedValues

tekstowe reprezentacje niektórych właściwości;

Zapis JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  }
}
Pola
distance

object (LocalizedText)

Odległość do pokonania w formie tekstowej.

duration

object (LocalizedText)

Czas trwania, reprezentowany w formie tekstowej i zlokalizowany pod kątem regionu zapytania. Uwzględnia warunki na drodze. Uwaga: jeśli nie żądasz informacji o ruchu, ta wartość jest taka sama jak wartość staticDuration.

staticDuration

object (LocalizedText)

Czas trwania bez uwzględniania warunków na drodze, podany w formie tekstowej.

StepsOverview

Zawiera informacje ogólne o liście RouteLegStep.

Zapis JSON
{
  "multiModalSegments": [
    {
      object (MultiModalSegment)
    }
  ]
}
Pola
multiModalSegments[]

object (MultiModalSegment)

Podsumowanie informacji o różnych segmentach multimodalnych RouteLeg.steps. To pole nie jest wypełniane, jeśli RouteLeg nie zawiera żadnych segmentów multimodalnych na krokach.

MultiModalSegment

Zawiera podsumowane informacje o różnych segmentach multimodalnych RouteLeg.steps. Segment multimodalny to co najmniej 1 ciągły RouteLegStep o tym samym RouteTravelMode. To pole nie jest wypełniane, jeśli RouteLeg nie zawiera żadnych segmentów multimodalnych na krokach.

Zapis JSON
{
  "navigationInstruction": {
    object (NavigationInstruction)
  },
  "travelMode": enum (RouteTravelMode),
  "stepStartIndex": integer,
  "stepEndIndex": integer
}
Pola
navigationInstruction

object (NavigationInstruction)

NawigacjaInstrukcja dotycząca segmentu multimodalnego.

travelMode

enum (RouteTravelMode)

Środek transportu w przypadku segmentu multimodalnego.

stepStartIndex

integer

Odpowiadający mu indeks RouteLegStep, który jest początkiem segmentu multimodalnego.

stepEndIndex

integer

Odpowiadający mu indeks RouteLegStep, który jest końcem segmentu multimodalnego.

Widoczny obszar

Strefa widoczna współrzędnych szerokości i długości geograficznej, reprezentowana przez 2 punkty lowhigh, leżące na przekątnej w przeciwnych kierunkach. Widok jest uważany za zamknięty obszar, czyli obejmuje swoją granicę. Granice szerokości geograficznej muszą mieścić się w zakresie od -90 do 90 stopni, a granice długości geograficznej – od -180 do 180 stopni. Przykładowe przypadki:

  • Jeśli low = high, widoczny obszar składa się z tego pojedynczego punktu.

  • Jeśli low.longitude > high.longitude, zakres długości geograficznej jest odwrócony (widoczny obszar przecina linię długości geograficznej 180°).

  • Jeśli low.longitude = –180 stopni, a high.longitude = 180 stopni, widoczny obszar obejmuje wszystkie długości geograficzne.

  • Jeśli low.longitude = 180 stopni, a high.longitude = -180 stopni, zakres długości geograficznej jest pusty.

  • Jeśli low.latitude > high.latitude, zakres szerokości geograficznej jest pusty.

Wartości low i high muszą być wypełnione, a pole reprezentowane przez te wartości nie może być puste (zgodnie z definicjami podanymi powyżej). Pusty widok spowoduje błąd.

Na przykład ten widok zawiera w pełni Nowy Jork:

{ "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } }

Zapis JSON
{
  "low": {
    object (LatLng)
  },
  "high": {
    object (LatLng)
  }
}
Pola
low

object (LatLng)

Wymagane. Najniższy punkt widocznego obszaru.

high

object (LatLng)

Wymagane. Najwyższy punkt obszaru widocznego.

RouteLocalizedValues

tekstowe reprezentacje niektórych właściwości;

Zapis JSON
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
Pola
distance

object (LocalizedText)

Odległość do pokonania w formie tekstowej.

duration

object (LocalizedText)

Czas trwania, reprezentowany w formie tekstowej i zlokalizowany pod kątem regionu zapytania. Uwzględnia warunki na drodze. Uwaga: jeśli nie poprosisz o informacje o ruchu, ta wartość będzie taka sama jak staticDuration.

staticDuration

object (LocalizedText)

Czas trwania bez uwzględniania warunków na drodze, podany w formie tekstowej.

transitFare

object (LocalizedText)

Opłata za przejazd w formie tekstowej.

PolylineDetails

Szczegóły odpowiadające danemu indeksowi lub ciągłemu segmentu ścieżki wielokąta. W przypadku wielokąta z punktami P_0, P_1, ... , P_N (indeksowany od zera) PolylineDetails definiuje przedział i powiązane metadane.

Zapis JSON
{
  "flyoverInfo": [
    {
      object (FlyoverInfo)
    }
  ],
  "narrowRoadInfo": [
    {
      object (NarrowRoadInfo)
    }
  ]
}
Pola
flyoverInfo[]

object (FlyoverInfo)

Szczegóły przelotu wzdłuż polilinii.

narrowRoadInfo[]

object (NarrowRoadInfo)

Szczegóły wąskich dróg wzdłuż polilinii.

FlyoverInfo

Zawiera informacje o przelotach wzdłuż polilinii.

Zapis JSON
{
  "flyoverPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Pola
flyoverPresence

enum (RoadFeatureState)

Tylko dane wyjściowe. Wskazuje, czy w przypadku danego odcinka polilinii istnieje widok z lotu.

polylinePointIndex

object (PolylinePointIndex)

Lokalizacja informacji związanych z przelotem wzdłuż linii łamanej.

RoadFeatureState

Zawiera stany obiektów drogowych na odcinku linii łamanej.

Wartości w polu enum
ROAD_FEATURE_STATE_UNSPECIFIED Stan obiektu drogi nie został obliczony (wartość domyślna).
EXISTS Obiekt droga istnieje.
DOES_NOT_EXIST Droga nie istnieje.

PolylinePointIndex

Zawiera indeksy początkowy i końcowy szczegółu ścieżki wielokąta. W przypadku danych odpowiadających pojedynczemu punktowi wartości startIndexendIndex będą takie same.

Zapis JSON
{
  "startIndex": integer,
  "endIndex": integer
}
Pola
startIndex

integer

Indeks początkowy tego elementu w wielokącie.

endIndex

integer

Wskaźnik końcowy tego elementu w wielokącie.

NarrowRoadInfo

Zawiera informacje o wąskich drogach wzdłuż polilinii.

Zapis JSON
{
  "narrowRoadPresence": enum (RoadFeatureState),
  "polylinePointIndex": {
    object (PolylinePointIndex)
  }
}
Pola
narrowRoadPresence

enum (RoadFeatureState)

Tylko dane wyjściowe. Wskazuje, czy na danym odcinku ścieżki wielokąta występuje wąska droga.

polylinePointIndex

object (PolylinePointIndex)

Lokalizacja informacji o wąskich drogach wzdłuż linii łamanej.

GeocodingResults

Zawiera GeocodedWaypoints dla punktu początkowego, docelowego i punktów pośrednich. Wartość jest podawana tylko w przypadku punktów adresowych.

Zapis JSON
{
  "origin": {
    object (GeocodedWaypoint)
  },
  "destination": {
    object (GeocodedWaypoint)
  },
  "intermediates": [
    {
      object (GeocodedWaypoint)
    }
  ]
}
Pola
origin

object (GeocodedWaypoint)

Punkt kontrolny z geokodowaniem źródłowym.

destination

object (GeocodedWaypoint)

Miejsce docelowe z geokodowanym punktem kontrolnym.

intermediates[]

object (GeocodedWaypoint)

Lista pośrednich zgeokodowanych punktów drogi, z których każdy zawiera pole indeksu odpowiadające pozycji punktu drogi liczonej od zera w kolejności podanej w żądaniu.

GeocodedWaypoint

Szczegóły dotyczące lokalizacji używanych jako punkty pośrednie. Wartość jest podawana tylko w przypadku punktów adresowych. Zawiera szczegółowe informacje o wynikach geokodowania w celu określenia, do jakiego adresu został zgeokodowany adres.

Zapis JSON
{
  "geocoderStatus": {
    object (Status)
  },
  "type": [
    string
  ],
  "partialMatch": boolean,
  "placeId": string,
  "intermediateWaypointRequestIndex": integer
}
Pola
geocoderStatus

object (Status)

Wskazuje kod stanu z operacji geokodowania.

type[]

string

Typy wyniku w postaci 0 lub więcej tagów typu. Obsługiwane typy: typy adresów i typy elementów adresu.

partialMatch

boolean

Wskazuje, że geokoder nie zwrócił dokładnego dopasowania do pierwotnego żądania, ale udało mu się dopasować część adresu. Możesz sprawdzić pierwotne żądanie pod kątem literówek lub niepełnego adresu.

placeId

string

Identyfikator miejsca odpowiadający temu wynikowi.

intermediateWaypointRequestIndex

integer

Indeks odpowiedniego punktu pośredniego w żądaniu. Wypełnione tylko wtedy, gdy odpowiadający punkt kontrolny jest punktem kontrolnym pośrednim.