Przy obliczaniu trasy interfejs Routes API pobiera punkty pośrednie i parametrów konfiguracji podanych jako dane wejściowe. Interfejs API zwraca odpowiedź obejmujący trasę domyślną i co najmniej jedną trasę alternatywną.
Odpowiedź może zawierać różne typy tras i inne dane w zależności od pól, o które prosisz:
Aby uwzględnić to w odpowiedzi | Wyświetl tę dokumentację |
---|---|
Trasa z najniższym spalaniem lub energią na podstawie typu silnika. | Konfigurowanie tras przyjaznych dla środowiska |
Do 3 tras alternatywnych | Wysyłanie zapytań o trasy alternatywne |
linia łamana dla całej trasy, dla każdego odcinka trasy oraz dla każdego etapu; nogi. | Prośba o linie łamane trasy |
Szacowane opłaty za przejazd z uwzględnieniem wszelkich rabatów na opłaty drogowe lub biletów dostępnych dla kierowcy lub pojazdu. | Obliczanie opłat drogowych |
Zlokalizowane odpowiedzi według kodów języków i jednostek miary (imperialnych lub dane). | Prośba o zlokalizowane wartości |
Aby sformatować instrukcje nawigacyjne jako ciąg tekstowy HTML, dodaj HTML_FORMATTED_NAVIGATION_INSTRUCTIONS do
extraComputations |
Dodatkowe obliczenia |
Pełną listę opcji wprowadzania znajdziesz w artykule Dostępne opcje trasy oraz Treść żądania.
Dzięki tej odpowiedzi możesz przekazać klientom informacje niezbędnych do wyboru odpowiedniej trasy.
Informacje o maskach pól
Gdy wywołujesz metodę do obliczenia trasy, musisz podać pole określającą pola, które mają być zwracane w odpowiedzi. Brak domyślnej listy zwróconych 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 maski pól. W środowisku produkcyjnym Twoja odpowiedź to uwzględnij tylko pola, które wyraźnie wskażesz 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 dołączyć 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
Przed sprawdzeniem odpowiedzi zwróconej przez interfejs Routes API warto sprawdzić, powinien znać elementy składowe trasy:
Odpowiedź może zawierać informacje o każdym z tych elementów trasy:
Trasa: cała podróż od punktu początkowego przez dowolny pośrednich punktów pośrednich do docelowego punktu pośredniego. Trasa składa się z jednego lub więcej nóg.
Etap: odcinek trasy od jednego punktu do następnego. Każda noga składa się z co najmniej 1 oddzielnego kroku.
Trasa zawiera oddzielny odcinek ścieżki od każdego punktu pośredniego do kolejnego. Jeśli na przykład trasa zawiera jeden punkt początkowy i jeden punkt pośredni docelowy punkt pośredni, trasa składa się z jednego etapu. Dla każdej wartości dodatkowy punkt pośredni dodany do trasy za miejscem początkowym i docelowym, nazywany pośrednim punktem pośrednim, interfejs API dodaje oddzielny etap.
Interfejs API nie dodaje etapu dla pośredniego punktu pośredniego przejazdowego. Dla: Jeśli na przykład trasa zawiera punkt początkowy, pośredni punkt pośredni. Docelowy punkt pośredni zawiera tylko jeden odcinek początkowym do miejsca docelowego podczas mijania w punkcie pośrednim. Więcej informacji o przekazywanych punktach drogi znajdziesz w artykule Definiowanie przekazywanego punktu drogi.
Krok: pojedyncza instrukcja na danym etapie trasy. Krok to najmniejsza jednostka trasy. Może to być na przykład „Skręć w lewo na ulicę Main Street”.
Treść odpowiedzi
Obiekt JSON reprezentująca odpowiedź interfejsu API zawiera te właściwości najwyższego poziomu:
routes
, tablica elementów typu Trasa. Tablicaroutes
zawiera po jednym elemencie dla każdej trasy zwróconej przez interfejs API. Tablica może zawierać maksymalnie pięć elementów: domyślną trasę, trasę bardziej ekologiczną i maksymalnie 3 alternatywne trasy.geocodingResults
, tablica elementów typu GeocodingResults. Dla każdej lokalizacji w żądaniu (źródło, miejsce docelowe lub pośrednie punkt pośredni) określonego jako ciąg adresu lub w postaci kodu Plus Code, wyszuka 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 długości i szerokości geograficznej nie są uwzględniane. Jeśli określono wszystkie lokalizacje za pomocą identyfikatorów miejsc lub szerokości i długości geograficznej współrzędnych, ta tablica nie została podana.fallbackInfo
, typu FallbackInfo. Jeśli interfejs API nie może obliczyć trasy ze wszystkich właściwości wejściowych, może skorzystać z innego sposobu obliczeń. W przypadku kreacji zastępczej używany jest tryb, w którym to pole zawiera szczegółowe informacje o kreacji zastępczej . W przeciwnym razie to pole jest nieskonfigurowane.
Odpowiedź ma taki format:
{ // The routes array. "routes": [ { object (Route) } ], // The place ID lookup results. "geocodingResults": [ { object (GeocodedWaypoint) } ], // The fallback property. "fallbackInfo": { object (FallbackInfo) } }
Odszyfruj tablicę tras
Odpowiedź zawiera tablicę routes
, w której każdy z elementów tablicy jest określonego typu
Trasa.
Każdy element tablicy reprezentuje całą trasę od punktu początkowego do miejsca docelowego.
Interfejs API zawsze zwraca co najmniej 1 trasę, nazywaną trasą domyślną.
Możesz poprosić o dodatkowe trasy. Jeśli żądasz trasy przyjaznej dla środowiska, tablica może zawierać 2 elementy: trasę domyślną i trasę przyjazną dla środowiska. Lub ustaw 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 |
Wskazuje trasę alternatywną. |
Tablica legs
zawiera definicję każdego etapu trasy. Pozostałe
właściwości, takich jak distanceMeters
, duration
i polyline,
, zawierają
ogólne informacje o 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 obecne warunki jazdy i inne czynniki domyślna trasa
trasa przyjazna dla środowiska może być taka sama. W tym przypadku tablica routeLabels
zawiera obie etykiety: DEFAULT_ROUTE
i FUEL_EFFICIENT
.
{ "routes": [ { "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ], … } ] }
Zapoznanie z tablicą nóg
Każdy element route
w odpowiedzi zawiera tablicę legs
, której każdy element jest typu RouteLeg.
Każdy etap w tablicy określa ścieżkę z jednego punktu pośredniego do następnego
wzdłuż trasy. Trasa zawsze obejmuje co najmniej jeden etap.
Właściwość legs
zawiera definicję każdego kroku na etapie w parametrze
tablica steps
. Pozostałe właściwości, takie jak distanceMeters
, duration
,
i polyline
zawierają informacje o nodze.
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "steps": [ { object (RouteLegStep) } ], "travelAdvisory": { object (RouteLegTravelAdvisory) } }
Tablica kroków
Każdy etap odpowiedzi zawiera tablicę steps
, w której każda tablica steps
element jest typu
RouteLegStep.
Krok odpowiada jednej instrukcji na każdym etapie. Noga zawsze zawiera
co najmniej jeden krok.
Każdy element w tablicy steps
zawiera zmienne navigationInstruction
właściwość, typu
NavigationInstruction,
który zawiera instrukcję dotyczącą kroków. 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 na jego temat, np.
jako distanceMeters
, duration
i polyline
:
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "navigationInstruction": { object (NavigationInstruction) } }
Określ język instrukcji dotyczących kroku
Interfejs API zwraca informacje o trasie w języku lokalnym transliterację na czytelny dla użytkownika, jeśli to konieczne, przyglądając się preferencjom język. Komponenty adresu są zwracane w tym samym języku.
Aby to zrobić, użyj parametru
languageCode
request do wyraźnie ustawić język trasy na liście obsługiwanych języki. Google często aktualizuje obsługiwane języków, więc ta lista może nie być wyczerpująca.Jeśli nazwa nie jest dostępna w wybranym języku, interfejs API używa metody jak najbardziej zbliżona do siebie.
Określony język może wpłynąć na zestaw wyników, które Zwracane dane API są w takiej kolejności, w jakiej są zwracane. geokoder różnie interpretuje skróty w zależności od języka, np. skrótów typów ulic lub synonimów, które mogą być stosowane w jednym a nie w innym. Na przykład: utca i tér to synonimy po węgiersku.
Opis tablicy geocodingResults
Dla każdej lokalizacji w żądaniu (źródło, miejsce docelowe lub pośrednie
punkt pośredni) określonego jako ciąg adresu lub w postaci kodu Plus Code,
Interfejs API próbuje znaleźć najtrafniejszą lokalizację, która ma swoje miejsce
ID. Każdy element argumentu
geocodingResults
tablica zawiera pole placeID
zawierające lokalizację jako identyfikator miejsca oraz pole type
określające lokalizację
typ, na przykład street_address
, premise
lub airport
.
Tablica geocodingResults
zawiera trzy pola:
origin
: jeśli został podany jako ciąg adresu lub kod Plus Code, identyfikator punktu początkowego. W przeciwnym razie to pole jest pomijane w odpowiedzi.destination
: jeśli został podany jako ciąg adresu lub kod Plus Code, identyfikator miejsca docelowego. W przeciwnym razie to pole jest pomijane w .intermediates
: tablica zawierająca identyfikator miejsca dowolnego pośredniego punkty pośrednie określone jako ciąg adresu lub kod Plus. Jeśli określisz punkt pośredni za pomocą identyfikatora miejsca lub współrzędnych geograficznych, zostanie on pominięty w odpowiedzi. Użyj właściwośćintermediateWaypointRequestIndex
w odpowiedzi do określenia; pośredni punkt pośredni w żądaniu odpowiada identyfikatorowi miejsca w odpowiedź.
"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 } ] }
Wartości zlokalizowanych odpowiedzi
Zlokalizowane wartości odpowiedzi to dodatkowe pole odpowiedzi, które zawiera zlokalizowany tekst zwracanych wartości parametrów. Zlokalizowany tekst jest dostępny dla: czas trwania podróży, odległość i system jednostek (metryczny lub imperialny). Ty prosisz zlokalizowane wartości za pomocą maski pola i możesz określić język lub użyć wartości uzyskanych przez interfejs API. Więcej informacji znajdziesz w sekcji LocalizedValues.
Na przykład, jeśli określisz kod języka dla niemieckiego (de) i imperialnego
otrzymujesz wartość distanceMeters
w wysokości 49889, 7,
ale też o zlokalizowanym tekście, który umożliwia pomiar odległości w języku niemieckim i
jednostek imperialnych, czyli „31 Meile”.
Oto przykład wartości zlokalizowanych:
{ "localized_values": { "distance": { "text": "31,0 Meile/n" }, "duration": { "text": 38 Minuten}. "static_duration": { "text": 36 Minuten}. } }
Jeśli nie określisz języka lub systemu jednostek, interfejs API ustali język w następujący sposób:
- Metoda
ComputeRoutes
określa lokalizację i odległość od punktu początkowego. W przypadku żądania routingu w Stanach Zjednoczonych interfejs API określa języken-US
i jednostki:IMPERIAL
. - Domyślna metoda metody
ComputeRouteMatrix
to „en-US”. język i METRIC.