Method: computeRoutes

Zwraca trasę główną wraz z opcjonalnymi trasami alternatywnymi na podstawie zestawu punktów końcowych i pośrednich.

UWAGA: ta metoda wymaga podania w danych wejściowych maski pola odpowiedzi. Maskę pola odpowiedzi możesz podać za pomocą parametru adresu URL $fields lub fields albo za pomocą nagłówka HTTP/gRPC X-Goog-FieldMask (zobacz dostępne parametry adresu URL i nagłówki). Wartość to lista ścieżek do pól rozdzielona przecinkami. Szczegółową dokumentację na temat tworzenia ścieżek pól znajdziesz tutaj.

Na przykład w tej metodzie:

  • Maska pola wszystkich dostępnych pól (do ręcznego sprawdzenia): X-Goog-FieldMask: *
  • Maska pola czasu trwania, odległości i linii łamanej na poziomie trasy (przykład konfiguracji produkcyjnej): X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

Google odradza używanie maski pola odpowiedzi z symbolem wieloznacznym (*) lub określanie maski pola na najwyższym poziomie (routes), ponieważ:

  • Wybieranie tylko potrzebnych pól pomaga naszemu serwerowi oszczędzać cykle obliczeniowe, dzięki czemu możemy zwracać wyniki z mniejszym opóźnieniem.
  • Wybieranie tylko tych pól, które są potrzebne w zadaniu produkcyjnym, zapewnia stabilną wydajność w zakresie opóźnień. W przyszłości możemy dodać więcej pól odpowiedzi, a nowe pola mogą wymagać dodatkowego czasu obliczeniowego. Jeśli wybierzesz wszystkie pola lub wszystkie pola na najwyższym poziomie, może to spowodować spadek wydajności, ponieważ każde nowe pole, które dodamy, będzie automatycznie uwzględniane w odpowiedzi.
  • Wybranie tylko potrzebnych pól skutkuje mniejszym rozmiarem odpowiedzi, a tym samym większą przepustowością 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 wyjątkiem punktów końcowych), w których można się zatrzymać lub które można ominąć. 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 obliczyć trasę przy użyciu wybranego ustawienia routingu. Jeśli preferencja routingu spowoduje błąd lub bardzo długie opóźnienie, zwracany jest błąd. Tę opcję możesz określić tylko wtedy, gdy travelMode ma wartość DRIVE lub TWO_WHEELER. W przeciwnym razie żądanie się nie powiedzie.

polylineQuality

enum (PolylineQuality)

Opcjonalnie. Określa preferencje dotyczące jakości polilinii.

polylineEncoding

enum (PolylineEncoding)

Opcjonalnie. Określa preferowane kodowanie polilinii.

departureTime

string (Timestamp format)

Opcjonalnie. Godzina odjazdu. Jeśli nie ustawisz tej wartości, domyślnie będzie to czas, w którym zostało wysłane żądanie. UWAGA: datę departureTime w przeszłości możesz określić tylko wtedy, gdy ustawienie RouteTravelMode ma wartość TRANSIT. Trasy transportu publicznego są dostępne do 7 dni wstecz i 100 dni w przyszłości.

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

arrivalTime

string (Timestamp format)

Opcjonalnie. Godzina przyjazdu. UWAGA: to pole jest ignorowane, gdy w prośbach określono wartość RouteTravelMode inną niż TRANSIT. Możesz określić wartość departureTime lub arrivalTime, ale nie obie jednocześnie. Trasy transportu publicznego są dostępne do 7 dni wstecz i 100 dni w przyszłości.

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

computeAlternativeRoutes

boolean

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

routeModifiers

object (RouteModifiers)

Opcjonalnie. Zestaw warunków, które wpływają na sposób obliczania tras.

languageCode

string

Opcjonalnie. Kod języka w formacie BCP-47, np. „en-US” lub „sr-Latn”. Więcej informacji znajdziesz w artykule Identyfikator ustawień regionalnych Unicode. Listę obsługiwanych języków znajdziesz w sekcji Obsługa języków. Jeśli nie podasz tej wartości, język wyświetlania zostanie wywnioskowany na podstawie lokalizacji żądania trasy.

regionCode

string

Opcjonalnie. Kod regionu określony jako dwuznakowa wartość ccTLD („domena najwyższego poziomu”). Więcej informacji znajdziesz w artykule Domeny krajowe najwyższego poziomu.

units

enum (Units)

Opcjonalnie. Określa jednostki miary dla pól wyświetlania. Pola te obejmują pole instructionNavigationInstruction. Jednostki miary używane w przypadku trasy, odcinka, odległości kroku i czasu trwania nie zależą od tej wartości. Jeśli nie podasz tej wartości, jednostki wyświetlania zostaną wywnioskowane na podstawie lokalizacji pierwszego źródła.

optimizeWaypointOrder

boolean

Opcjonalnie. Jeśli ta opcja ma wartość „true”, usługa próbuje zminimalizować ogólny koszt trasy, zmieniając kolejność określonych pośrednich punktów na trasie. Żądanie nie powiedzie się, jeśli którykolwiek z pośrednich punktów trasy jest punktem trasy via. Użyj kodu ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index, aby znaleźć nową kolejność. Jeśli w nagłówku X-Goog-FieldMask nie ma żądania ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index, żądanie się nie powiedzie. Jeśli parametr optimizeWaypointOrder ma wartość Fałsz, parametr ComputeRoutesResponse.optimized_intermediate_waypoint_index będzie pusty.

requestedReferenceRoutes[]

enum (ReferenceRoute)

Opcjonalnie. Określa, które trasy referencyjne mają być obliczane w ramach żądania oprócz trasy domyślnej. Trasa referencyjna to trasa o innym celu obliczania niż trasa domyślna. Na przykład FUEL_EFFICIENTobliczenia trasy referencyjnej uwzględniają różne parametry, które pozwalają wygenerować optymalną trasę pod względem zużycia paliwa. Gdy korzystasz z tej funkcji, szukaj ikony routeLabels na wyznaczonych trasach.

extraComputations[]

enum (ExtraComputation)

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

trafficModel

enum (TrafficModel)

Opcjonalnie. Określa założenia, które mają być używane podczas obliczania czasu w ruchu. To ustawienie wpływa na wartość zwracaną w polu czasu trwania w elementach RouteRouteLeg, które zawierają przewidywany czas w ruchu na podstawie średnich wartości historycznych. TrafficModel jest dostępna tylko w przypadku żądań, w których parametr RoutingPreference ma wartość TRAFFIC_AWARE_OPTIMAL, a parametr RouteTravelMode ma wartość DRIVE. Jeśli ruch jest wymagany, a wartość TrafficModel nie jest określona, domyślnie przyjmuje się BEST_GUESS.

transitPreferences

object (TransitPreferences)

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

Treść odpowiedzi

v2.computeRoutes w wiadomości 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)

Zawiera tablicę obliczonych tras (maksymalnie 3), jeśli określisz compute_alternatives_routes, a tylko jedną trasę, jeśli tego nie zrobisz. Jeśli ta tablica zawiera wiele wpisów, pierwszy z nich jest najbardziej zalecaną 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 jest w stanie obliczyć wyników trasy przy użyciu wszystkich preferencji wejściowych, może zastosować inny sposób obliczania. Gdy używany jest tryb rezerwowy, to pole zawiera szczegółowe informacje o odpowiedzi rezerwowej. W przeciwnym razie to pole nie jest ustawione.

geocodingResults

object (GeocodingResults)

Zawiera informacje o odpowiedzi geokodowania dla punktów pośrednich określonych jako adresy.

PolylineQuality

Zbiór wartości określających jakość polilinii.

Wartości w polu enum
POLYLINE_QUALITY_UNSPECIFIED Nie określono preferencji dotyczących jakości polilinii. Domyślna wartość to OVERVIEW.
HIGH_QUALITY Określa polilinię wysokiej jakości, która składa się z większej liczby punktów niż OVERVIEW, co zwiększa rozmiar odpowiedzi. Użyj tej wartości, gdy potrzebujesz większej precyzji.
OVERVIEW Określa polilinię podglądu, która składa się z niewielkiej liczby punktów. Używaj tej wartości podczas wyświetlania podsumowania trasy. Korzystanie z tej opcji wiąże się z krótszym czasem oczekiwania na odpowiedź niż w przypadku opcji HIGH_QUALITY.

PolylineEncoding

Określa preferowany typ linii łamanej, która ma zostać zwrócona.

Wartości w polu enum
POLYLINE_ENCODING_UNSPECIFIED Nie określono preferencji dotyczących typu polilinii. Domyślna wartość to ENCODED_POLYLINE.
ENCODED_POLYLINE Określa linię łamaną zakodowaną za pomocą algorytmu kodowania linii łamanych.
GEO_JSON_LINESTRING Określa polilinię za pomocą formatu GeoJSON LineString.

ReferenceRoute

Obsługiwana trasa referencyjna w obiekcie ComputeRoutesRequest.

Wartości w polu enum
REFERENCE_ROUTE_UNSPECIFIED Nie używane. Żądania zawierające tę wartość kończą się niepowodzeniem.
FUEL_EFFICIENT Trasa z najniższym spalaniem.
SHORTER_DISTANCE

Trasa o krótszym dystansie. To funkcja eksperymentalna.

W przypadku DRIVE ta funkcja traktuje krótszy dystans jako ważniejszy od komfortu jazdy. Może na przykład preferować drogi lokalne zamiast autostrad, korzystać z dróg gruntowych, przejeżdżać przez parkingi itp. Ta funkcja nie zwraca żadnych manewrów, o których Google Maps wie, że są niezgodne z prawem.

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

Ta funkcja nie jest zgodna z innymi środkami transportu, punktami pośrednimi ani optimizeWaypointOrder. Takie prośby nie zostaną zrealizowane. 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 Nie używane. Żądania zawierające tę wartość nie zostaną zrealizowane.
TOLLS Informacje o opłatach za przejazd na trasie.
FUEL_CONSUMPTION Szacowane zużycie paliwa na trasie.
TRAFFIC_ON_POLYLINE Linie łamane uwzględniające natężenie ruchu na trasach.
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions w postaci sformatowanego ciągu tekstowego HTML. Te treści mają być odczytywane w takiej formie, w jakiej są wyświetlane. Nie analizuj go programowo.
FLYOVER_INFO_ON_POLYLINE Informacje o przelocie nad trasą. Aby zwrócić te informacje, musisz określić routes.polyline_details.flyover_info fieldmask. Obecnie te dane są wypełniane tylko w przypadku niektórych obszarów metropolitalnych w Indiach. Ta funkcja jest eksperymentalna, a kod SKU lub opłata mogą ulec zmianie.
NARROW_ROAD_INFO_ON_POLYLINE Informacje o wąskich drogach na trasie. Aby zwrócić te informacje, musisz określić routes.polyline_details.narrow_road_info fieldmask. Obecnie te dane są wypełniane tylko w przypadku niektórych obszarów metropolitalnych w Indiach. Ta funkcja jest eksperymentalna, a kod SKU lub opłata mogą ulec zmianie.

Trasa

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

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 pomagają identyfikować określone właściwości trasy w celu porównania ich z innymi.

legs[]

object (RouteLeg)

Zbiór odcinków (segmentów ścieżki między punktami pośrednimi), które składają się na trasę. Każdy etap odpowiada podróży między 2 miejscami, które nie są via Waypoints. Na przykład trasa bez pośrednich punktów na trasie ma tylko 1 odcinek. Trasa, która zawiera 1 nievia pośredni punkt trasy, ma 2 odcinki. Trasa, która zawiera 1 via pośredni punkt na trasie, ma 1 etap. Kolejność odcinków trasy odpowiada kolejności punktów pośrednich od origin do intermediates do destination.

distanceMeters

integer

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

duration

string (Duration format)

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

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

staticDuration

string (Duration format)

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

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

polyline

object (Polyline)

Ogólna linia łamana trasy. Ta linia łamana jest połączeniem wszystkich linii łamanych legs.

description

string

Opis trasy.

warnings[]

string

Tablica ostrzeżeń, które mają się wyświetlać 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 wartość optimizeWaypointOrder na true, to pole będzie zawierać zoptymalizowaną kolejność pośrednich punktów na trasie. W przeciwnym razie to pole jest puste. Jeśli na przykład podasz dane wejściowe: Origin: LA; Intermediate waypoints: Dallas, Bangor, Phoenix; Destination: New York; a zoptymalizowana kolejność pośrednich punktów trasy to Phoenix, Dallas, Bangor, to to pole będzie zawierać wartości [2, 0, 1]. Indeks zaczyna się od 0 w przypadku pierwszego pośredniego punktu trasy podanego na wejściu.

localizedValues

object (RouteLocalizedValues)

Tekstowe reprezentacje właściwości Route.

routeToken

string

Nieprzezroczysty token, który można przekazać do Navigation SDK, aby odtworzyć trasę podczas nawigacji i w przypadku zmiany trasy uwzględnić pierwotny zamiar, gdy trasa została utworzona. Traktuj ten token jako nieprzejrzystą strukturę danych. Nie porównuj jego wartości w różnych żądaniach, ponieważ może się ona zmieniać, nawet jeśli usługa zwraca dokładnie tę samą trasę.

UWAGA: usługa 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ługiwany w przypadku żądań zawierających punkty pośrednie.

polylineDetails

object (PolylineDetails)

Zawiera informacje o szczegółach wzdłuż polilinii.

RouteLabel

Etykiety dla Route, które pomagają identyfikować określone właściwości trasy w celu porównania ich z innymi.

Wartości w polu enum
ROUTE_LABEL_UNSPECIFIED Domyślne – nieużywane.
DEFAULT_ROUTE Domyślna „najlepsza” trasa zwracana w wyniku obliczeń.
DEFAULT_ROUTE_ALTERNATE Alternatywa dla domyślnej „najlepszej” trasy. Trasy takie jak ta będą zwracane, gdy podany jest parametr computeAlternativeRoutes.
FUEL_EFFICIENT Trasa z najniższym spalaniem. Trasy oznaczone tą wartością są zoptymalizowane pod kątem parametrów ekologicznych, takich jak zużycie paliwa.
SHORTER_DISTANCE trasa o krótszym dystansie do pokonania. To funkcja eksperymentalna.

RouteLeg

Zawiera 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)
  },
  "localizedValues": {
    object (RouteLegLocalizedValues)
  },
  "stepsOverview": {
    object (StepsOverview)
  }
}
Pola
distanceMeters

integer

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

duration

string (Duration format)

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

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

staticDuration

string (Duration format)

Czas trwania podróży na danym odcinku, obliczony bez uwzględnienia warunków drogowych.

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

polyline

object (Polyline)

Ogólna linia łamana dla tego etapu, która obejmuje linię łamaną każdego .step

startLocation

object (Location)

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

endLocation

object (Location)

Lokalizacja końcowa tego odcinka. Ta lokalizacja może się różnić od podanej wartości 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 tym etapie. Każdy krok to jedna instrukcja nawigacyjna.

travelAdvisory

object (RouteLegTravelAdvisory)

Zawiera dodatkowe informacje, o których użytkownik powinien wiedzieć, np. o możliwych ograniczeniach strefy ruchu na odcinku 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 łamanej. Domyślna wartość to encoded_polyline. polyline_type może mieć tylko jedną z tych wartości:
encodedPolyline

string

Ciąg znaków reprezentujący linię łamaną zakodowaną za pomocą algorytmu kodowania linii łamanych.

geoJsonLinestring

object (Struct format)

Określa polilinię za pomocą formatu GeoJSON LineString.

RouteLegStep

Zawiera segment 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ść pokonana w tym kroku w metrach. W niektórych przypadkach to pole może nie mieć wartości.

staticDuration

string (Duration format)

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

Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „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 użytkownik powinien być poinformowany, np. o możliwych ograniczeniach strefy ruchu na danym etapie podróży.

localizedValues

object (RouteLegStepLocalizedValues)

Tekstowe reprezentacje właściwości RouteLegStep.

transitDetails

object (RouteLegStepTransitDetails)

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

travelMode

enum (RouteTravelMode)

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

Maneuver

Zestaw wartości określających działanie nawigacyjne, które należy wykonać na bieżącym etapie (np. skręć w lewo, wjedź na drogę lub jedź prosto).

Wartości w polu enum
MANEUVER_UNSPECIFIED Nie używane.
TURN_SLIGHT_LEFT Obróć się lekko w lewo.
TURN_SHARP_LEFT Skręć ostro w lewo.
UTURN_LEFT Zawróć w lewo.
TURN_LEFT Skręć w lewo.
TURN_SLIGHT_RIGHT Obróć się lekko w prawo.
TURN_SHARP_RIGHT Skręć ostro w prawo.
UTURN_RIGHT Zawróć w prawo.
TURN_RIGHT Skręć w prawo.
STRAIGHT Jedź prosto.
RAMP_LEFT Skieruj się na wjazd po lewej stronie.
RAMP_RIGHT Skieruj się na zjazd po prawej stronie.
MERGE Włącz się do ruchu.
FORK_LEFT Skręć w lewo.
FORK_RIGHT Skręć w prawo.
FERRY Popłyń promem.
FERRY_TRAIN Wsiądź do pociągu, który wjeżdża na prom.
ROUNDABOUT_LEFT Na rondzie skręć w lewo.
ROUNDABOUT_RIGHT Na rondzie skręć w prawo.
DEPART Początkowy manewr.
NAME_CHANGE Służy do wskazywania zmiany nazwy ulicy.

RouteLegStepTravelAdvisory

Zawiera dodatkowe informacje, o których użytkownik powinien wiedzieć, np. o możliwych ograniczeniach stref ruchu na danym etapie podróży.

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

object (SpeedReadingInterval)

UWAGA: to pole nie jest obecnie wypełnione.

RouteLegStepLocalizedValues

Tekstowe reprezentacje niektórych usług.

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

object (LocalizedText)

Długość trasy w formie tekstowej.

staticDuration

object (LocalizedText)

Czas trwania bez uwzględnienia warunków na drogach, przedstawiony w formie tekstowej.

RouteLegStepTransitDetails

Dodatkowe informacje dla RouteLegStep dotyczące tras 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 przyjazdu i odjazdu w przypadku danego kroku.

localizedValues

object (TransitDetailsLocalizedValues)

Tekstowe reprezentacje właściwości RouteLegStepTransitDetails.

headsign

string

Określa kierunek, w którym należy podróżować tą linią, zgodnie z oznaczeniem na pojeździe lub na przystanku początkowym. Kierunek to często stacja końcowa.

headway

string (Duration format)

Określa oczekiwany czas jako okres między odjazdami z tego samego przystanku o tej porze. Jeśli na przykład wartość headway seconds wynosi 600, w przypadku spóźnienia się na autobus musisz poczekać 10 minut.

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

transitLine

object (TransitLine)

Informacje o linii transportu publicznego użytej w tym kroku.

stopCount

integer

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

stopCount

zwraca 3.

tripShortText

string

Tekst, który pojawia się w harmonogramach i na tablicach informacyjnych, aby identyfikować przejazd środkami transportu publicznego dla pasażerów. Tekst powinien jednoznacznie identyfikować przejazd w ramach dnia obsł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 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 w przypadku danego kroku.

arrivalTime

string (Timestamp format)

Szacowany czas dotarcia na miejsce.

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

departureStop

object (TransitStop)

Informacje o przystanku początkowym kroku.

departureTime

string (Timestamp format)

Szacowany czas wylotu na tym etapie.

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

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 za pomocą współrzędnych geograficznych.

TransitDetailsLocalizedValues

Zlokalizowane opisy wartości dla parametru RouteTransitDetails.

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

object (LocalizedTime)

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

departureTime

object (LocalizedTime)

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

LocalizedTime

Zlokalizowany opis czasu.

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

object (LocalizedText)

Czas podany 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 linii 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

identyfikator URI tej linii transportu publicznego podany przez przewoźnika.

color

string

Kolor powszechnie używany w oznaczeniach tej linii. Reprezentowane w systemie szesnastkowym.

iconUri

string

Identyfikator URI ikony powiązanej z tym wierszem.

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 oznakowaniu tej linii. Reprezentowane w systemie szesnastkowym.

vehicle

object (TransitVehicle)

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

TransitAgency

Przewoźnik obsługujący linię transportu publicznego.

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

string

Nazwa tego przewoźnika.

phoneNumber

string

Numer telefonu agencji transportu publicznego w formacie odpowiednim dla danego regionu.

uri

string

Identyfikator URI przewoźnika.

TransitVehicle

Informacje o pojeździe używanym na trasach transportu publicznego.

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)

rodzaj używanego 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 transportu publicznego.

TransitVehicleType

Rodzaj pojazdów na trasach transportu publicznego.

Wartości w polu enum
TRANSIT_VEHICLE_TYPE_UNSPECIFIED Nieużywane.
BUS autobus.
CABLE_CAR Pojazd poruszający się po kablu, zwykle po ziemi. Koleje linowe mogą być typu GONDOLA_LIFT.
COMMUTER_TRAIN Kolej podmiejska.
FERRY promem,
FUNICULAR Pojazd wciągany na strome wzniesienie za pomocą liny. Kolejka linowo-terenowa składa się zwykle z 2 wagonów, z których każdy stanowi przeciwwagę dla drugiego.
GONDOLA_LIFT kolejka gondolowa,
HEAVY_RAIL Kolej dużych prędkości.
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 kolej,
SHARE_TAXI Taksówka współdzielona to rodzaj autobusu, który może wysadzać i zabierać pasażerów w dowolnym miejscu na trasie.
SUBWAY Podziemna kolej miejska.
TRAM Kolej miejska naziemna.
TROLLEYBUS Trolejbus.

RouteLegTravelAdvisory

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

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

object (TollInfo)

Zawiera informacje o opłatach za przejazd na wybranym RouteLeg. To pole jest wypełniane tylko wtedy, gdy spodziewamy się, że na trasie RouteLeg będą pobierane opłaty. Jeśli to pole jest ustawione, ale pole podrzędne estimatedPrice nie jest wypełnione, oznacza to, że na drodze są pobierane opłaty, ale nie znamy szacunkowej ceny. Jeśli to pole nie istnieje, na RouteLeg nie ma opłat.

speedReadingIntervals[]

object (SpeedReadingInterval)

Szybkie odczytywanie interwałów z informacjami o gęstości ruchu. Dotyczy preferencji routingu TRAFFIC_AWARETRAFFIC_AWARE_OPTIMAL. Przedziały obejmują całą linię łamaną RouteLeg bez nakładania się. Punkt początkowy określonego przedziału jest taki sam jak punkt końcowy poprzedniego przedziału.

Przykład:

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

RouteLegLocalizedValues

Tekstowe reprezentacje niektórych usług.

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

object (LocalizedText)

Długość trasy w formie tekstowej.

duration

object (LocalizedText)

Czas trwania w formie tekstowej, zlokalizowany w regionie zapytania. Uwzględnia warunki na drodze. Uwaga: jeśli nie zażądasz informacji o ruchu, ta wartość będzie taka sama jak staticDuration.

staticDuration

object (LocalizedText)

Czas trwania bez uwzględnienia warunków na drogach, przedstawiony w formie tekstowej.

StepsOverview

Zawiera informacje ogólne o liście RouteLegStep.

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

object (MultiModalSegment)

Podsumowane informacje o różnych segmentach multimodalnych RouteLeg.steps. To pole nie jest wypełniane, jeśli w krokach RouteLeg nie ma żadnych segmentów multimodalnych.

MultiModalSegment

Zawiera podsumowane informacje o różnych segmentach multimodalnych RouteLeg.steps. Segment multimodalny to co najmniej 1 sąsiadujący ze sobą RouteLegStep, które mają ten sam RouteTravelMode. To pole nie jest wypełniane, jeśli w krokach RouteLeg nie ma żadnych segmentów multimodalnych.

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

object (NavigationInstruction)

NavigationInstruction dla segmentu multimodalnego.

travelMode

enum (RouteTravelMode)

Środek transportu w segmencie multimodalnym.

stepStartIndex

integer

Odpowiedni indeks RouteLegStep, który jest początkiem segmentu multimodalnego.

stepEndIndex

integer

Odpowiedni indeks RouteLegStep, który jest końcem segmentu multimodalnego.

Widoczny obszar

Widoczny obszar określony przez szerokość i długość geograficzną, reprezentowany przez 2 przeciwległe punkty lowhigh. Widoczny obszar jest uważany za obszar zamknięty, czyli obejmuje swoje granice. Zakres szerokości geograficznej musi wynosić od -90 do 90 stopni włącznie, a zakres długości geograficznej – od -180 do 180 stopni włącznie. Przykłady:

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

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

  • 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.

Pola lowhigh muszą być wypełnione, a reprezentowane pole nie może być puste (zgodnie z powyższymi definicjami). Pusty obszar wyświetlania spowoduje błąd.

Na przykład ten obszar widoku w całości obejmuje 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 usług.

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

object (LocalizedText)

Długość trasy w formie tekstowej.

duration

object (LocalizedText)

Czas trwania w formie tekstowej, zlokalizowany w regionie zapytania. Uwzględnia warunki na drodze. Uwaga: jeśli nie zażądasz informacji o ruchu, ta wartość będzie taka sama jak wartość staticDuration.

staticDuration

object (LocalizedText)

Czas trwania bez uwzględnienia warunków na drogach, przedstawiony w formie tekstowej.

transitFare

object (LocalizedText)

Cena transportu publicznego w formie tekstowej.

PolylineDetails

Szczegóły odpowiadające danemu indeksowi lub ciągłemu segmentowi polilinii. W przypadku linii łamanej z punktami P_0, P_1, ... , P_N (indeksowanie od zera) element PolylineDetails definiuje przedział i powiązane z nim metadane.

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

object (FlyoverInfo)

Szczegóły przelotu wzdłuż linii łamanej.

narrowRoadInfo[]

object (NarrowRoadInfo)

Szczegóły wąskiej drogi wzdłuż linii łamanej.

FlyoverInfo

Zawiera informacje o przelotach wzdłuż linii łamanej.

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

enum (RoadFeatureState)

Tylko dane wyjściowe. Określa, czy dla danego odcinka polilinii istnieje przelot.

polylinePointIndex

object (PolylinePointIndex)

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

RoadFeatureState

Zawiera stany obiektów na drodze wzdłuż odcinka linii łamanej.

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

PolylinePointIndex

Zawiera indeksy początku i końca szczegółu polilinii. Jeśli dane odpowiadają jednemu punktowi, wartości startIndexendIndex będą równe.

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

integer

Indeks początkowy tego szczegółu w linii łamanej.

endIndex

integer

Indeks końcowy tego szczegółu w linii łamanej.

NarrowRoadInfo

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

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

enum (RoadFeatureState)

Tylko dane wyjściowe. Wskazuje, czy na danym odcinku linii łamanej znajduje się wąska droga.

polylinePointIndex

object (PolylinePointIndex)

Lokalizacja informacji o wąskiej drodze wzdłuż linii łamanej.

GeocodingResults

Zawiera GeocodedWaypoints dla punktu początkowego, miejsca docelowego i pośrednich punktów trasy. Wartość podawana tylko w przypadku punktów pośrednich w postaci adresów.

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

object (GeocodedWaypoint)

Geokodowany punkt pośredni miejsca wylotu.

destination

object (GeocodedWaypoint)

Docelowy punkt pośredni po geokodowaniu.

intermediates[]

object (GeocodedWaypoint)

Lista pośrednich punktów trasy z geokodowaniem, z których każdy zawiera pole indeksu odpowiadające pozycji punktu trasy w kolejności, w jakiej został określony w żądaniu (liczonej od zera).

GeocodedWaypoint

Szczegóły lokalizacji używanych jako punkty pośrednie. Wartość podawana tylko w przypadku punktów pośrednich w postaci adresów. Zawiera szczegółowe informacje o wynikach geokodowania, które pomagają określić, do czego został geokodowany adres.

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

object (Status)

Wskazuje kod stanu wynikający z operacji geokodowania.

type[]

string

Typy wyniku w postaci co najmniej 1 tagu typu. Obsługiwane typy: typy adresów i typy komponentów adresu.

partialMatch

boolean

Oznacza, że geokoder nie zwrócił dokładnego dopasowania do pierwotnego żądania, ale udało mu się dopasować część żądanego adresu. Sprawdź, czy w pierwotnym żądaniu nie ma błędów pisowni lub niekompletnego adresu.

placeId

string

Identyfikator miejsca dla tego wyniku.

intermediateWaypointRequestIndex

integer

Indeks odpowiedniego pośredniego punktu na trasie w żądaniu. Wypełniane tylko wtedy, gdy odpowiedni punkt pośredni jest punktem pośrednim.