Gdy interfejs Routes API oblicza trasę, jako dane wejściowe przyjmuje punkty pośrednie i podane przez Ciebie parametry konfiguracji. Interfejs API zwraca wtedy odpowiedź zawierającą domyślną trasę i co najmniej 1 trasę alternatywną.
Odpowiedź może zawierać różne typy tras i inne dane w zależności od pól, o które poprosisz:
| Aby uwzględnić to w odpowiedzi | Zobacz tę dokumentację |
|---|---|
| Trasa o największej oszczędności paliwa lub energii w zależności od typu silnika. | Konfigurowanie tras przyjaznych dla środowiska |
| Maksymalnie 3 trasy alternatywne | Prośba o trasy alternatywne |
| linię łamaną całej trasy, każdego etapu trasy i każdego kroku etapu; | Żądanie linii łamanych trasy |
| Szacunkowe opłaty za przejazd, z uwzględnieniem wszelkich rabatów na opłaty za przejazd lub karnetów dostępnych dla kierowcy lub pojazdu. | Obliczanie opłat za przejazd |
| Zlokalizowane odpowiedzi według kodów języków i jednostki miary (imperialnej lub metrycznej). | Prośba o zlokalizowane wartości |
Aby sformatować instrukcje nawigacji jako ciąg tekstowy HTML, dodaj HTML_FORMATTED_NAVIGATION_INSTRUCTIONS do extraComputations. |
Dodatkowe obliczenia |
Pełną listę opcji wejściowych znajdziesz w sekcji Dostępne opcje trasy i w treści żądania.
Na podstawie odpowiedzi możesz przekazać klientom informacje niezbędne do wyboru odpowiedniej trasy.
Informacje o maskach pól
Gdy wywołujesz metodę obliczania trasy, musisz określić maskę pola, która definiuje pola, które chcesz otrzymać w odpowiedzi. Nie ma domyślnej listy zwracanych pól. Jeśli pominiesz tę listę, metody zwrócą błąd.
Przykłady w tym dokumencie pokazują cały obiekt odpowiedzi bez uwzględniania masek pól. W środowisku produkcyjnym odpowiedź będzie zawierać tylko pola, które zostały wyraźnie określone w masce pola.
Więcej informacji znajdziesz w sekcji Wybieranie informacji do zwrócenia.
Wyświetlanie informacji o prawach autorskich
Podczas wyświetlania wyników użytkownikom musisz podać to oświadczenie o prawach autorskich:
Powered by Google, ©YEAR Google
Na przykład:
Powered by Google, ©2023 Google
Informacje o trasach, odcinkach i krokach
Zanim zapoznasz się z odpowiedzią zwróconą przez interfejs Routes API, musisz poznać komponenty, z których składa się trasa:

Odpowiedź może zawierać informacje o każdym z tych elementów trasy:
Trasa: cała podróż od punktu początkowego przez wszystkie punkty pośrednie do punktu docelowego. Trasa składa się z co najmniej 1 odcinka.
Odcinek: ścieżka od jednego punktu na trasie do następnego. Każdy etap składa się z co najmniej 1 kroku.
Trasa zawiera osobny odcinek dla ścieżki od każdego punktu do następnego. Jeśli np. trasa zawiera 1 punkt początkowy i 1 punkt docelowy, składa się z 1 odcinka. W przypadku każdego dodatkowego punktu pośredniego dodanego do trasy po punkcie początkowym i docelowym, zwanego punktem pośrednim, interfejs API dodaje osobny odcinek.
Interfejs API nie dodaje odcinka dla przejściowego pośredniego punktu pośredniego. Na przykład trasa, która zawiera punkt początkowy, punkt pośredni, przez który chcesz przejechać, i punkt docelowy, ma tylko jeden odcinek z miejsca początkowego do docelowego, który przebiega przez punkt pośredni. Więcej informacji o punktach pośrednich znajdziesz w artykule Definiowanie punktu pośredniego.
Krok: pojedyncza instrukcja na odcinku trasy. Krok to najmniejsza jednostka trasy. Na przykład krok może brzmieć: „Skręć w lewo w ulicę Główną”.
Co zawiera odpowiedź
Obiekt JSON reprezentujący odpowiedź interfejsu API zawiera te właściwości najwyższego poziomu:
routes, tablica elementów typu Route. Tablicarouteszawiera po 1 elemencie na każdą trasę zwróconą przez interfejs API. Tablica może zawierać maksymalnie 5 elementów: trasę domyślną, trasę ekologiczną i do 3 tras alternatywnych.geocodingResults, tablica elementów typu GeocodingResults. W przypadku każdej lokalizacji w żądaniu (punktu początkowego, docelowego lub pośredniego), która została określona jako ciąg adresu lub kod Plus, interfejs API wyszukuje identyfikator miejsca. Każdy element tej tablicy zawiera identyfikator miejsca odpowiadający lokalizacji. Lokalizacje w żądaniu określone jako identyfikator miejsca lub współrzędne geograficzne nie są uwzględniane. Jeśli wszystkie lokalizacje zostały określone za pomocą identyfikatorów miejsc lub współrzędnych geograficznych, ta tablica nie jest podawana.fallbackInfo, typu FallbackInfo. Jeśli interfejs API nie może obliczyć trasy na podstawie wszystkich właściwości wejściowych, może użyć innego sposobu obliczania. Gdy używany jest tryb rezerwowy, to pole zawiera szczegółowe informacje o odpowiedzi rezerwowej. W przeciwnym razie to pole nie jest ustawione.
Odpowiedź ma postać:
{ // The routes array. "routes": [ { object (Route) } ], // The place ID lookup results. "geocodingResults": [ { object (GeocodedWaypoint) } ], // The fallback property. "fallbackInfo": { object (FallbackInfo) } }
Interpretowanie tablicy tras
Odpowiedź zawiera tablicę routes, której każdy element jest typu Route.
Każdy element tablicy reprezentuje całą trasę z miejsca wyjazdu do miejsca docelowego. Interfejs API zawsze zwraca co najmniej 1 trasę, zwaną trasą domyślną.
Możesz poprosić o dodatkowe trasy. Jeśli poprosisz o trasę przyjazną dla środowiska, tablica może zawierać 2 elementy: trasę domyślną i trasę przyjazną dla środowiska. Możesz też ustawić wartość computeAlternativeRoutes na true w żądaniu, aby dodać do odpowiedzi maksymalnie 3 alternatywne trasy.
Każda trasa w tablicy jest identyfikowana za pomocą właściwości tablicy routeLabels:
| Wartość | Opis |
|---|---|
DEFAULT_ROUTE |
Określa trasę domyślną. |
FUEL_EFFICIENT |
Określa trasę przyjazną dla środowiska. |
DEFAULT_ROUTE_ALTERNATE |
I Oznacza trasę alternatywną. |
Tablica legs zawiera definicję każdego odcinka trasy. Pozostałe właściwości, takie jak distanceMeters, duration i polyline,, zawierają informacje o całej trasie:
{ "routeLabels": [ enum (RouteLabel) ], "legs": [ { object (RouteLeg) } ], "distanceMeters": integer, "duration": string, "routeLabels": [string], "staticDuration": string, "polyline": { object (Polyline) }, "description": string, "warnings": [ string ], "viewport": { object (Viewport) }, "travelAdvisory": { object (RouteTravelAdvisory) } "routeToken": string }
Ze względu na aktualne warunki drogowe i inne czynniki trasa domyślna i trasa przyjazna dla środowiska mogą być takie same. W tym przypadku tablica routeLabels zawiera oba tagi: DEFAULT_ROUTE i FUEL_EFFICIENT.
{ "routes": [ { "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ], … } ] }
Omówienie tablicy legs
Każdy element route w odpowiedzi zawiera tablicę legs, w której każdy element legs jest typu RouteLeg.
Każdy odcinek w tablicy określa ścieżkę od jednego punktu pośredniego do następnego wzdłuż trasy. Trasa zawsze zawiera co najmniej 1 odcinek.
Właściwość legs zawiera definicję każdego kroku na trasie w tablicy steps. Pozostałe właściwości, takie jak distanceMeters, duration i polyline, zawierają informacje o odcinku trasy.
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "steps": [ { object (RouteLegStep) } ], "travelAdvisory": { object (RouteLegTravelAdvisory) } }
Omówienie tablicy kroków
Każdy etap w odpowiedzi zawiera tablicę steps, której każdy steps
element jest typu
RouteLegStep.
Krok odpowiada pojedynczej instrukcji dotyczącej nogi. Trasa zawsze zawiera co najmniej 1 krok.
Każdy element w tablicy steps zawiera właściwość navigationInstruction typu NavigationInstruction, która zawiera instrukcję kroku. Na przykład:
"navigationInstruction": { "maneuver": "TURN_LEFT", "instructions": "Turn left toward Frontage Rd" }
instructions może zawierać dodatkowe informacje o kroku. Przykład:
"navigationInstruction": { "maneuver": "TURN_SLIGHT_LEFT", "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days" }
Pozostałe właściwości w kroku opisują informacje o kroku, takie jak distanceMeters, duration i polyline:
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "navigationInstruction": { object (NavigationInstruction) } }
Określanie języka instrukcji kroku
Interfejs API zwraca informacje o trasie w języku lokalnym, w razie potrzeby transliterowane na pismo czytelne dla użytkownika, z zachowaniem preferowanego języka. Komponenty adresu są zwracane w tym samym języku.
Użyj parametru
languageCodew żądaniu, aby wyraźnie ustawić język trasy z listy obsługiwanych języków. Google często aktualizuje listę obsługiwanych języków, więc może ona nie być pełna.Jeśli nazwa nie jest dostępna w określonym języku, API użyje najbliższego dopasowania.
Określony język może wpływać na zestaw wyników, które interfejs API wybiera do zwrócenia, oraz na kolejność, w jakiej są one zwracane. Geokoder interpretuje skróty w różny sposób w zależności od języka, np. skróty typów ulic lub synonimy, które mogą być prawidłowe w jednym języku, ale nie w innym. Na przykład utca i tér to synonimy słowa „ulica” w języku węgierskim.
Omówienie tablicy geocodingResults
W przypadku każdej lokalizacji w żądaniu (punktu początkowego, docelowego lub pośredniego), która została określona jako ciąg adresu lub kod Plus Code, interfejs API próbuje znaleźć najbardziej odpowiednią lokalizację, która ma odpowiedni identyfikator miejsca. Każdy element tablicy geocodingResults zawiera pole placeID z lokalizacją w postaci identyfikatora miejsca oraz pole type określające typ lokalizacji, np. street_address, premise lub airport.
Tablica geocodingResults zawiera 3 pola:
origin: jeśli został podany jako ciąg adresu lub kod plus, identyfikator miejsca pochodzenia. W przeciwnym razie to pole jest pomijane w odpowiedzi.destination: jeśli został podany jako ciąg adresu lub kod plus, identyfikator miejsca docelowego. W przeciwnym razie to pole jest pomijane w odpowiedzi.intermediates: tablica zawierająca identyfikator miejsca wszystkich pośrednich punktów pośrednich określonych jako ciąg znaków adresu lub jako kod Plus Code. Jeśli określisz pośredni punkt trasy za pomocą identyfikatora miejsca lub współrzędnych geograficznych, zostanie on pominięty w odpowiedzi. Użyj właściwościintermediateWaypointRequestIndexw odpowiedzi, aby określić, który pośredni punkt trasy w żądaniu odpowiada identyfikatorowi miejsca w odpowiedzi.
"geocodingResults": { "origin": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "destination": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "intermediates": [ { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string }, { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string } ] }
Zrozumienie zlokalizowanych wartości odpowiedzi
Zlokalizowane wartości odpowiedzi to dodatkowe pole odpowiedzi, które zawiera zlokalizowany tekst dla zwracanych wartości parametrów. Zlokalizowany tekst jest podawany w przypadku czasu trwania podróży, odległości i systemu jednostek (metrycznego lub imperialnego). O wartości zlokalizowane możesz poprosić za pomocą maski pola. Możesz też określić język i układ jednostek lub użyć wartości wywnioskowanych przez interfejs API. Więcej informacji znajdziesz w sekcji LocalizedValues.
Jeśli na przykład podasz kod języka niemieckiego (de) i jednostki imperialne, otrzymasz wartość distanceMeters równą 49889, 7, ale także zlokalizowany tekst podający pomiar odległości w języku niemieckim i jednostkach imperialnych, czyli „31 Meile”.
Oto przykład tego, co zobaczysz w przypadku zlokalizowanych wartości:
{ "localized_values":
{
"distance": { "text": "31,0 Meile/n" },
"duration": { "text": 38 Minuten}.
"static_duration": { "text": 36 Minuten}.
}
}Jeśli nie określisz języka ani systemu jednostek, interfejs API wywnioskuje język i jednostki w ten sposób:
- Metoda
ComputeRoutesokreśla jednostki lokalizacji i odległości na podstawie punktu pośredniego miejsca początkowego. W przypadku żądania wyznaczania trasy w Stanach Zjednoczonych interfejs API wnioskuje oen-USjęzyk iIMPERIALjednostki. - Metoda
ComputeRouteMatrixdomyślnie używa języka „en-US” i jednostek METRYCZNYCH.