Method: computeRoutes

Zwraca trasę podstawową wraz z opcjonalnymi trasami alternatywnymi ze względu na zbiór terminali i pośrednich punktów pośrednich.

UWAGA: ta metoda wymaga określenia maski pola odpowiedzi w danych wejściowych. Maską pola odpowiedzi możesz podać, używając parametru adresu URL $fields lub fields albo nagłówka HTTP/gRPC X-Goog-FieldMask (zobacz dostępne parametry i nagłówki adresu URL). Wartość ma postać listy rozdzielonych przecinkami ścieżek pól. Zapoznaj się ze szczegółową dokumentacją tworzenia ścieżek pól.

Na przykład w tej metodzie:

  • Maska pola wszystkich dostępnych pól (do sprawdzenia ręcznego): X-Goog-FieldMask: *
  • Maska pola z czasem trwania na poziomie trasy, odległością i linią łamaną (przykładowa konfiguracja produkcyjna): X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

Google odradza korzystanie z maski pola odpowiedzi z symbolem wieloznacznym (*) 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 wyniki z krótszym czasem oczekiwania.
  • Wybór tylko tych pól, które są potrzebne w zadaniu produkcyjnym, zapewnia stabilną wydajność opóźnień. W przyszłości możemy dodać więcej pól odpowiedzi, a te nowe pola mogą wymagać dłuższego czasu na obliczenia. Jeśli wybierzesz wszystkie pola lub wszystkie pola na najwyższym poziomie, wydajność może się zmniejszyć, ponieważ nowe pola, które dodamy, będą automatycznie uwzględniane w odpowiedzi.
  • Jeśli wybierzesz tylko te pola, których potrzebujesz, rozmiar odpowiedzi będzie mniejszy, a tym samym większa 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 pośredni na trasie.

destination

object (Waypoint)

Wymagane. Docelowy punkt na trasie.

intermediates[]

object (Waypoint)

Opcjonalnie: Zestaw punktów na trasie (z wyłączeniem punktów końcowych) do zatrzymania się na lub przejechania. Obsługiwane jest maksymalnie 25 pośrednich 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ć wybranego ustawienia routingu do obliczenia trasy. Jeśli ustawienie routingu powoduje 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 nie zostanie zrealizowane.

polylineQuality

enum (PolylineQuality)

Opcjonalnie: Określa preferencję dotyczącą jakości linii łamanej.

polylineEncoding

enum (PolylineEncoding)

Opcjonalnie: Określa preferowane kodowanie linii łamanej.

departureTime

string (Timestamp format)

Opcjonalnie: Godzina odjazdu. Jeśli nie ustawisz tej wartości, domyślnie będzie przyjęta data przesłania żądania. UWAGA: pole departureTime z przeszłości możesz określić tylko wtedy, gdy opcja RouteTravelMode ma wartość TRANSIT. Podróże transportem publicznym mogą obejmować maksymalnie 7 dni wstecz lub 100 dni do przodu.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

arrivalTime

string (Timestamp format)

Opcjonalnie: Godzina przyjazdu. UWAGA: ten parametr można ustawić tylko wtedy, gdy zasada RouteTravelMode ma wartość TRANSIT. Możesz określić departureTime lub arrivalTime, ale nie oba jednocześnie. Podróże transportem publicznym mogą obejmować maksymalnie 7 dni wstecz lub 100 dni do przodu.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

computeAlternativeRoutes

boolean

Opcjonalnie: Określa, czy oprócz trasy obliczać trasy alternatywne. W przypadku żądań z pośrednimi punktami pośrednimi 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 BCP-47, na przykład „en-US”. czy „sr-Latn”. Więcej informacji znajdziesz w sekcji Identyfikator języka 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 będzie ustalany na podstawie lokalizacji żądania trasy.

regionCode

string

Opcjonalnie: Kod regionu określony jako dwuznakowa wartość domeny ccTLD („domeny 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świetlanych. Te pola obejmują pole instruction w elemencie NavigationInstruction. Ta wartość nie ma wpływu na jednostki miary stosowane dla trasy, odcinka, dystansu ani czasu trwania. Jeśli nie podasz tej wartości, wyświetlane jednostki zostaną ustalone na podstawie lokalizacji pierwszego punktu początkowego.

optimizeWaypointOrder

boolean

Opcjonalnie: Jeśli zasada ma wartość true (prawda), usługa próbuje zminimalizować ogólny koszt trasy przez zmianę kolejności określonych pośrednich punktów pośrednich. Żądanie nie powiedzie się, jeśli dowolny z pośrednich punktów pośrednich jest punktem pośrednim via. Aby znaleźć nowe kolejność, użyj funkcji ComputeRoutesResponse.Routes.optimized_intermediate_waypoint_index. Jeśli w nagłówku X-Goog-FieldMask nie jest żądane ComputeRoutesResponseroutes.optimized_intermediate_waypoint_index, żądanie się nie powiedzie. Jeśli optimizeWaypointOrder ma wartość Fałsz, pole ComputeRoutesResponse.optimized_intermediate_waypoint_index jest puste.

requestedReferenceRoutes[]

enum (ReferenceRoute)

Opcjonalnie: Określa, które trasy referencyjne mają zostać obliczone w ramach żądania, oprócz trasy domyślnej. Trasa referencyjna to trasa z innym celem obliczenia trasy niż domyślna. Na przykład podczas obliczania trasy referencyjnej FUEL_EFFICIENT uwzględniane są różne parametry, które mogą wygenerować optymalną trasę z najniższym spalaniem.

extraComputations[]

enum (ExtraComputation)

Opcjonalnie: Lista dodatkowych obliczeń, które mogą zostać wykorzystane do wykonania żądania. Uwaga: te dodatkowe obliczenia mogą zwrócić dodatkowe pola w odpowiedzi. Te dodatkowe pola muszą być również określone w masce pola, aby została zwrócona w odpowiedzi.

trafficModel

enum (TrafficModel)

Opcjonalnie: Określa założenia, które należy zastosować przy obliczaniu czasu w ruchu. To ustawienie wpływa na wartość zwracaną w polu czasu trwania w polach Route i RouteLeg, które zawierają przewidywany czas ruchu określony na podstawie średnich wartości historycznych. Funkcja TrafficModel jest dostępna tylko w przypadku żądań, w których wartość RoutingPreference ma wartość TRAFFIC_AWARE_OPTIMAL, a RouteTravelMode na DRIVE. Domyślna wartość to BEST_GUESS, jeśli żądanie dotyczy ruchu, a TrafficModel nie jest określony.

transitPreferences

object (TransitPreferences)

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

Treść odpowiedzi

v2.computeRoutes kieruje 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)

Zawiera tablicę obliczonych tras (maksymalnie 3), jeśli została określona jako compute_alternatives_routes, oraz zawiera tylko jedną trasę, jeśli nie jest. Jeśli ta tablica zawiera wiele wpisów, pierwsza 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 wszystkich podanych preferencjach wejściowych, może użyć innego sposobu obliczeń. Gdy używany jest tryb zastępczy, to pole zawiera szczegółowe informacje o odpowiedzi kreacji zastępczej. W przeciwnym razie to pole jest nieskonfigurowane.

geocodingResults

object (GeocodingResults)

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

PolylineQuality

Zbiór wartości określających jakość linii łamanej.

Wartości w polu enum
POLYLINE_QUALITY_UNSPECIFIED Nie określono preferencji jakości linii łamanej. Domyślna wartość to OVERVIEW.
HIGH_QUALITY Określa wysokiej jakości linię łamaną, która składa się z większej liczby punktów niż OVERVIEW, ale kosztem zwiększonego rozmiaru odpowiedzi. Użyj tej wartości, jeśli potrzebujesz większej precyzji.
OVERVIEW Określa linię łamaną przeglądu, która składa się z niewielkiej liczby punktów. Użyj tej wartości do wyświetlania ogólnego widoku trasy. Ta opcja wiąże się z krótszym czasem oczekiwania na żądanie w porównaniu z opcją HIGH_QUALITY.

PolylineEncoding

Określa preferowany typ linii łamanej do zwrócenia.

Wartości w polu enum
POLYLINE_ENCODING_UNSPECIFIED Nie określono preferowanego typu linii łamanej. Domyślna wartość to ENCODED_POLYLINE.
ENCODED_POLYLINE Określa linię łamaną zakodowaną przy użyciu algorytmu kodowania linii łamanej.
GEO_JSON_LINESTRING Określa linię łamaną w formacie wiersza GeoJSON

ReferenceRoute

Obsługiwana trasa referencyjna w ComputeRoutesRequest.

Wartości w polu enum
REFERENCE_ROUTE_UNSPECIFIED Nieużywane. Żądania zawierające tę wartość kończą się niepowodzeniem.
FUEL_EFFICIENT Trasa z najniższym spalaniem. Trasy oznaczone tą wartością są uznawane za zoptymalizowane pod kątem takich parametrów jak zużycie paliwa.

ExtraComputation

Dodatkowe obliczenia do wykonania podczas realizacji żądania.

Wartości w polu enum
EXTRA_COMPUTATION_UNSPECIFIED Nieużywane. Żądania zawierające tę wartość zakończą się niepowodzeniem.
TOLLS Informacje o opłatach na trasach.
FUEL_CONSUMPTION Szacowane zużycie paliwa na trasach.
TRAFFIC_ON_POLYLINE Na trasach występują linie łamane z informacją o natężeniu ruchu.
HTML_FORMATTED_NAVIGATION_INSTRUCTIONS NavigationInstructions w postaci sformatowanego ciągu tekstowego HTML. Tę treść należy czytać w takiej postaci, w jakiej jest. Ta treść jest przeznaczona tylko do wyświetlania. Nie analizuj go automatycznie.

Trasa

Zawiera trasę, która składa się z kilku połączonych fragmentów drogi, które łączą punkt początkowy, końcowy i pośredni.

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

enum (RouteLabel)

Etykiety obiektu Route, które służą do identyfikowania określonych właściwości trasy w celu porównania jej z innymi.

legs[]

object (RouteLeg)

Zbiór nóg (odcinków ścieżki między punktami pośrednimi), z których składa się trasa. Każdy odcinek odpowiada podróży między dwoma drogami innymi niż via Waypoints. Na przykład trasa bez pośrednich punktów pośrednich ma tylko jeden etap. Trasa obejmująca jeden punkt pośredni inny niż via ma dwie nogi. Trasa obejmująca 1 pośredni punkt na trasie via, ma 1 etap. Kolejność etapów odpowiada kolejności punktów na trasie od origin do intermediates do destination.

distanceMeters

integer

Odległość przebyta trasa w metrach.

duration

string (Duration format)

Czas potrzebny na nawigowanie 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, ta wartość jest obliczana z uwzględnieniem warunków na drodze.

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

staticDuration

string (Duration format)

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

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

polyline

object (Polyline)

Linia łamana całej trasy. Ta linia łamana to połączona linia łamana ze wszystkich elementów typu legs.

description

string

Opis trasy.

warnings[]

string

Tablica ostrzeżeń wyświetlanych 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 ustawisz optimizeWaypointOrder na wartość true, to pole zawiera zoptymalizowaną kolejność pośrednich punktów pośrednich. W przeciwnym razie to pole jest puste. Jeśli na przykład podasz dane pochodzenia: LA; Punkty pośrednie: Dallas, Bangor, Phoenix; Miejsce docelowe: Nowy Jork; a zoptymalizowana kolejność pośrednich punktów pośrednich to Phoenix, Dallas, Bangor. To pole zawiera wartości [2, 0, 1]. Indeks rozpoczyna się od 0 dla pierwszego pośredniego punktu pośredniego podanego w danych wejściowych.

localizedValues

object (RouteLocalizedValues)

Tekstowe przedstawienie właściwości elementu Route.

routeToken

string

Zakodowany w internecie token trasy zakodowany w base64, który można przekazać do pakietu Navigation SDK, który umożliwia pakietowi Navigation SDK zrekonstruowanie trasy podczas nawigacji, a w przypadku jej ponownego wyznaczania może być zgodny z intencją jej utworzenia przez wywołanie v2.computeRoutes. Klienci powinni traktować ten token jako nieprzezroczysty obiekt blob. Nie porównuj jego wartości w poszczególnych żądaniach – ten token może się zmienić, nawet jeśli zwrócona zostanie dokładnie ta sama trasa. UWAGA: funkcja Route.route_token jest dostępna tylko w przypadku żądań, w których pole ComputeRoutesRequest.routing_preference ma wartość TRAFFIC_AWARE lub TRAFFIC_AWARE_OPTIMAL. Pole Route.route_token nie jest obsługiwane w przypadku żądań z punktami pośrednimi Via.

RouteLabel

Etykiety obiektu Route, które służą do identyfikowania określonych właściwości trasy w celu porównania jej z innymi.

Wartości w polu enum
ROUTE_LABEL_UNSPECIFIED Domyślnie – nieużywane.
DEFAULT_ROUTE Wartość domyślna „najlepszy”. zwracaną na potrzeby obliczenia trasy.
DEFAULT_ROUTE_ALTERNATE Alternatywa dla domyślnego „najlepszego” . Tego typu trasy zostaną zwrócone, gdy określisz wartość computeAlternativeRoutes.
FUEL_EFFICIENT Trasa z najniższym spalaniem. Trasy oznaczone tą wartością są uznane za zoptymalizowane pod kątem parametrów Eko, takich jak zużycie paliwa.

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ść pokonanego odcinka trasy w metrach.

duration

string (Duration format)

Czas potrzebny na poruszanie się po nodze. 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 na drodze.

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

staticDuration

string (Duration format)

Długość odcinka obliczona bez uwzględniania warunków na drodze.

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

polyline

object (Polyline)

Ogólna linia łamana dla tego odcinka, która zawiera linię łamaną każdej step.

startLocation

object (Location)

Lokalizacja początkowa tego odcinka. Ta lokalizacja może się różnić od lokalizacji wskazanej w lokalizacji origin. Jeśli na przykład podany obiekt 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 lokalizacji wskazanej w lokalizacji destination. Jeśli na przykład podany obiekt destination nie znajduje się w pobliżu drogi, jest to punkt na drodze.

steps[]

object (RouteLegStep)

Tablica kroków oznaczająca 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. o ewentualnych ograniczeniach dotyczących strefy ruchu na danym etapie trasy.

localizedValues

object (RouteLegLocalizedValues)

Tekstowe przedstawienie właściwości elementu RouteLeg.

stepsOverview

object (StepsOverview)

Omówienie kroków w tym RouteLeg. To pole jest wypełniane tylko w przypadku tras TRANSIT.

Linia łamana

Oznacza 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 znaków w linii łamanej za pomocą algorytmu kodowania linii łamanej

geoJsonLinestring

object (Struct format)

Określa linię łamaną w formacie wiersza GeoJSON.

RouteLegStep

Zawiera segment elementu RouteLeg. Etap odpowiada pojedynczej instrukcji dotyczącej nawigacji. Etapy trasy składają się ze stopni.

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

Długość tego kroku w metrach. W niektórych przypadkach to pole może nie mieć wartości.

staticDuration

string (Duration format)

Długość tej drogi bez uwzględnienia warunków drogowych. W niektórych przypadkach to pole może nie mieć wartości.

Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku, kończący się cyfrą „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. o ewentualnych ograniczeniach związanych z ruchem drogowym, na etapie schodów.

localizedValues

object (RouteLegStepLocalizedValues)

Tekstowe przedstawienie właściwości elementu 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.

Skręt

Zbiór wartości, które określają działanie nawigacji do wykonania w bieżącym kroku (np. skręć w lewo, scal lub prosto).

Wartości w polu enum
MANEUVER_UNSPECIFIED Nieuż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 Idź prosto.
RAMP_LEFT Skręć w lewą rampę.
RAMP_RIGHT Skręć w w prawo.
MERGE Scalanie w ruch.
FORK_LEFT Skręć w lewy rozwidlenie.
FORK_RIGHT Skręć w prawy widelec.
FERRY Przeprawa promowa.
FERRY_TRAIN Wsiądź do pociągu kursującego na prom.
ROUNDABOUT_LEFT Skręć w lewo na rondzie.
ROUNDABOUT_RIGHT Skręć w prawo na rondzie.
DEPART Manewr początkowy.
NAME_CHANGE Służy do wskazywania zmiany nazwy ulicy.

RouteLegStepTravelAdvisory

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

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

object (SpeedReadingInterval)

UWAGA: to pole nie jest obecnie wypełnione.

RouteLegStepLocalizedValues

Tekstowe przedstawienie określonych usług.

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

object (LocalizedText)

Odległość podróży w formie tekstowej.

staticDuration

object (LocalizedText)

Czas trwania bez uwzględnienia warunków na drodze, wyrażony w formie tekstowej.

RouteLegStepTransitDetails

Dodatkowe informacje o: 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 na tym etapie.

localizedValues

object (TransitDetailsLocalizedValues)

Tekstowe przedstawienie właściwości elementu RouteLegStepTransitDetails.

headsign

string

Określa kierunek, w jakim należy poruszać się po tej linii, zgodnie z oznaczeniem na pojeździe lub na przystanku. Kierunek ruchu często prowadzi do stacji końcowej.

headway

string (Duration format)

Określa oczekiwaną godzinę jako czas między odjazdami z tego samego przystanku w tym samym czasie. Jeśli na przykład spóźnisz się na autobus, czas oczekiwania wynosi 600 sekund, a przejazd może potrwać 10 minut.

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

transitLine

object (TransitLine)

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

stopCount

integer

Liczba przystanków od startu do przystanku. Ta liczba uwzględnia przystanek, ale nie uwzględnia przystanku odjazdu. Jeśli na przykład trasa zjeżdża z przystanku A, mija przystanki B i C i dotrze do przystanku D, funkcja stopCount zwróci wartość 3.

tripShortText

string

Tekst wyświetlany w rozkładach jazdy i tablicach informacyjnych, które umożliwiają identyfikację podróży tranzytem dla pasażerów. Tekst powinien jednoznacznie identyfikować podróż w danym dniu obsługi klienta. Przykład: „538”. to tripShortText pociągu Amtrak, który odjeżdża z San Jose w Kalifornii o 15:10 w dni robocze do Sacramento w Kalifornii.

TransitStopDetails

Szczegółowe informacje o przystankach transportu publicznego: RouteLegStep.

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

object (TransitStop)

Informacje o przystanku na przyjazd dla tego kroku.

arrivalTime

string (Timestamp format)

Szacowany czas dotarcia na miejsce.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

departureStop

object (TransitStop)

Informacje o przystanku odjazdu na tym etapie.

departureTime

string (Timestamp format)

Przewidywany czas wyjazdu danego kroku.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

TransitStop

Informacje o przystanku.

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

string

Nazwa przystanku transportu publicznego.

location

object (Location)

Lokalizacja przystanku wyrażona we współrzędnych geograficznych.

TransitDetailsLocalizedValues

Zlokalizowane opisy wartości dla: RouteTransitDetails.

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

object (LocalizedTime)

Czas w sformatowanym tekście z odpowiednią strefą czasową.

departureTime

object (LocalizedTime)

Czas w sformatowanym tekście 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ść jest nazwą strefy czasowej zgodnie z definicją w bazie danych stref czasowych IANA, np. „Ameryka/Nowy_Jork”.

TransitLine

Zawiera informacje o linii transportu publicznego użytej w tym kroku.

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 obsługujący tę linię transportu publicznego.

name

string

Pełna nazwa tej linii transportu publicznego, np. „ul. Główna 8”.

uri

string

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

color

string

Kolor często używany na oznakowaniu tej linii. Wartość szesnastkowa.

iconUri

string

Identyfikator URI ikony powiązanej z tym wierszem.

nameShort

string

Krótka nazwa tej linii transportu publicznego. Najczęściej jest to numer wiersza, np. „M7”. czy „355”.

textColor

string

Kolor często używany w tekście na oznakowaniu w tej linii. Wartość szesnastkowa.

vehicle

object (TransitVehicle)

Typ pojazdu, który porusza się po tej linii 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

Sformatowany dla języka numer telefonu przewoźnika.

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)

Typ 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 określany na podstawie lokalnego znaku transportowego.

TransitVehicleType

Typ pojazdów na potrzeby tras transportu publicznego.

Wartości w polu enum
TRANSIT_VEHICLE_TYPE_UNSPECIFIED Nieużywane.
BUS Autobus.
CABLE_CAR Pojazd poruszający się po kablu, zwykle na ziemi. Kolejki linowe mogą być typu GONDOLA_LIFT.
COMMUTER_TRAIN Kolej podmiejska.
FERRY Prom.
FUNICULAR Pojazd wciągany po stromym wzniesieniu za pomocą kabla. Kolej linowo-terenowa składa się zwykle z dwóch wagonów, z których każdy stanowi przeciwwagę dla drugiego.
GONDOLA_LIFT Kolej gondolowa.
HEAVY_RAIL Ciężka linia kolejowa.
HIGH_SPEED_TRAIN Szybki pociąg.
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 zbiorowa to rodzaj autobusu, który pozwala wsiąść i odebrać pasażerów w dowolnym miejscu na trasie.
SUBWAY Podziemna kolej miejska.
TRAM Kolej miejska.
TROLLEYBUS Trolejbus.

RouteLegTravelAdvisory

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

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

object (TollInfo)

Zawiera informacje o opłatach na konkretnym: RouteLeg. To pole jest wypełnione tylko wtedy, gdy przewidujemy, że na: RouteLeg będą naliczane opłaty. Jeśli to pole jest skonfigurowane, ale pole podrzędne szacowanej ceny nie jest wypełnione, spodziewamy się, że dana droga będzie zawierać płatne drogi, ale nie znamy szacunkowej ceny. Jeśli to pole nie istnieje, RouteLeg nie pobiera opłat.

speedReadingIntervals[]

object (SpeedReadingInterval)

Interwały szybkiego odczytywania z informacjami o gęstości ruchu. Ma zastosowanie w przypadku preferencji routingu TRAFFIC_AWARE i TRAFFIC_AWARE_OPTIMAL. Przedziały obejmują całą linię łamaną RouteLeg bez nakładania się. Punkt początkowy określonego interwału 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).

RouteLegLocalizedValues

Tekstowe przedstawienie określonych usług.

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

object (LocalizedText)

Odległość podróży w formie tekstowej.

duration

object (LocalizedText)

Czas trwania z uwzględnieniem warunków na drodze wyrażony w formie tekstowej. Uwaga: jeśli żądanie informacji o ruchu nie zostało wysłane, ta wartość będzie mieć taką samą wartość jak staticDuration.

staticDuration

object (LocalizedText)

Czas trwania bez uwzględnienia warunków na drodze, wyrażony w formie tekstowej.

StepsOverview

Udostępnia przegląd informacji na temat listy elementów 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 w krokach RouteLeg nie zawiera żadnych segmentów multimodalnych.

MultiModalSegment

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

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

object (NavigationInstruction)

Instrukcja nawigacji dla segmentu multimodalnego.

travelMode

enum (RouteTravelMode)

Środek transportu segmentu multimodalnego.

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 o długości i szerokości geograficznej reprezentowany jako dwa przeciwstawne punkty: low i high po przekątnej. Widoczny obszar jest uważany za obszar zamknięty, czyli obejmujący swoją granicę. Granice szerokości geograficznej muszą mieścić się w przedziale od -90 do 90 stopni włącznie, a długość geograficzna musi się mieścić w przedziale od -180 do 180 stopni włącznie. Różne 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 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.

Musisz wypełnić pola low i high, a reprezentowane pole nie może być puste (zgodnie z definicjami powyżej). Pusty obszar spowoduje wystąpienie błędu.

Na przykład ten widoczny obszar 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 widocznego obszaru.

RouteLocalizedValues

Tekstowe przedstawienie określonych usług.

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

object (LocalizedText)

Odległość podróży w formie tekstowej.

duration

object (LocalizedText)

Czas trwania z uwzględnieniem warunków na drodze, wyrażony w formie tekstowej. Uwaga: jeśli żądanie informacji o ruchu nie zostało wysłane, ta wartość będzie mieć taką samą wartość jak staticDuration.

staticDuration

object (LocalizedText)

Czas trwania bez uwzględnienia warunków na drodze, wyrażony w formie tekstowej.

transitFare

object (LocalizedText)

Cena za transport publiczny w formie tekstowej.

GeocodingResults

Zawiera GeocodedWaypoints dla punktów początkowych, docelowych i pośrednich. Wartość podawana tylko w przypadku punktów pośrednich związanych z adresem.

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

object (GeocodedWaypoint)

Geokodowany punkt pośredni wyznaczający punkt początkowy.

destination

object (GeocodedWaypoint)

Geokodowany punkt pośredni miejsca docelowego.

intermediates[]

object (GeocodedWaypoint)

Lista pośrednich, geokodowanych punktów pośrednich zawierających pole indeksu odpowiadające pozycji punktu pośredniego (od zera) w kolejności, w jakiej zostały określone w żądaniu.

GeocodedWaypoint

Szczegółowe informacje o lokalizacjach używanych jako punkty pośrednie. Wartość podawana tylko w przypadku punktów pośrednich związanych z adresem. Zawiera szczegółowe informacje o wynikach geokodowania, które pomogą nam określić, do czego został przekonwertowany 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 zero lub większej liczby tagów typu. Obsługiwane typy: Typy adresów i typy komponentów adresu.

partialMatch

boolean

Wskazuje, że geokoder nie zwrócił dokładnego dopasowania do pierwotnego żądania, chociaż udało mu się dopasować część żądanego adresu. Możesz sprawdzić, czy pierwotne zgłoszenie nie zawiera błędów pisowni ani niekompletnych adresów.

placeId

string

Identyfikator miejsca powiązany z tym wynikiem.

intermediateWaypointRequestIndex

integer

Indeks odpowiedniego pośredniego punktu pośredniego w żądaniu. Wartość podawana tylko wtedy, gdy odpowiedni punkt na trasie jest pośrednim punktem pośrednim.