Wyznaczanie tras

Narzędzie compute_routes zwraca trasę między miejscem początkowym a docelowym dla danego środka transportu. Odpowiedź zawiera odległość i czas trwania trasy. Domyślnie trasy są obliczane bez uwzględniania informacji o aktualnym natężeniu ruchu. Pro dodaje wyznaczanie tras, które uwzględnia natężenie ruchu w czasie rzeczywistym i trasy z większą liczbą przystanków pośrednich.

Na tej stronie opisujemy opcje żądań, w tym opcje Pro, zawartość odpowiedzi oraz sposób naliczania opłat za żądania. Pełny schemat narzędzia znajdziesz w dokumentacji compute_routes.

Opcje żądania

Opcja Opis
origin, destination Wymagane. Każdy z nich jest punktem pośrednim: address (adres zrozumiały dla człowieka lub plus code), place_id lub lat_lng. Możesz mieszać formaty, np. adres jako miejsce wylotu i identyfikator miejsca jako miejsce docelowe.
travel_mode Środek transportu: DRIVE (domyślny), WALK, BICYCLE lub TRANSIT. Trasy WALK są w wersji beta i czasami mogą nie obejmować chodników ani ścieżek dla pieszych. Musisz wyświetlać to ostrzeżenie użytkownikowi w przypadku wszystkich tras pieszych, które wyświetlasz w aplikacji.
routing_preference Sposób wykorzystania danych o ruchu do obliczania trasy: ROUTING_PREFERENCE_TRAFFIC_UNAWARE (domyślnie) lub ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL, czyli opcja Pro. Funkcja ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL nie jest obsługiwana w przypadku WALK ani BICYCLE. Zobacz Wyznaczanie trasy z uwzględnieniem natężenia ruchu.
intermediate_waypoints Uporządkowane przystanki między miejscem początkowym a docelowym. Trasa przebiega przez nie w podanej kolejności. Żądanie może zawierać do 10 punktów pośrednich lub od 11 do 25 w ramach opcji Pro. Żądanie z ponad 25 adresami URL zwraca błąd INVALID_ARGUMENT. Trasy transportu publicznego nie obsługują punktów pośrednich.
departure_time lub arrival_time Godzina wyjazdu z miejsca początkowego lub przyjazdu do miejsca docelowego jako sygnatura czasowa RFC 3339. Ustaw maksymalnie 1 wartość. Domyślnie jest to bieżąca godzina. W przypadku TRANSIT czas może wynosić do 7 dni wstecz lub 100 dni w przyszłość. W przypadku innych środków transportu czas nie może być w przeszłości i może być ustawiony na maksymalnie 365 dni do przodu.
compute_alternative_routes Gdy parametr ma wartość true, odpowiedź zawiera alternatywne trasy oprócz zalecanej, jeśli są dostępne. Domyślna wartość to false.
include_polyline Gdy true, każda trasa w odpowiedzi zawiera encodedPolyline. Domyślna wartość to false.
location_bias Szerokość i długość geograficzna, które wpływają na sposób rozpoznawania tekstowych punktów pośrednich, np. w celu uściślenia adresu.

Opcje wersji Pro

Dwie opcje wybierają kod SKU Pro. Żądanie, które używa jednej lub obu tych funkcji, jest rozliczane w ramach kodu SKU Pro:

Opcja Pro Kiedy z niego korzystać
Adres ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL został ustawiony jako routing_preference Użytkownik pyta o natężenie ruchu, korki lub czas podróży z uwzględnieniem aktualnego natężenia ruchu. Zobacz Wyznaczanie trasy z uwzględnieniem natężenia ruchu.
11–25intermediate_waypoints Trasa wymaga więcej niż 10 przystanków między miejscem początkowym a docelowym.

Wszystkie pozostałe opcje są rozliczane w ramach SKU Essentials, w tym tryb podróży, czas, trasy alternatywne, linie łamane i preferencje lokalizacji.

Wyznaczanie trasy z uwzględnieniem natężenia ruchu

Domyślnie trasy są obliczane bez uwzględniania warunków na drodze w czasie rzeczywistym (ROUTING_PREFERENCE_TRAFFIC_UNAWARE). To ustawienie ma najniższe opóźnienie. Sprawdza się w przypadku żądań, w których natężenie ruchu nie ma znaczenia lub nie ma zastosowania, np. tras pieszych lub planowania ogólnego.

Ustaw parametr routing_preference na ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL, aby obliczyć trasę i czas jej trwania z uwzględnieniem aktualnych warunków na drodze, jeśli dane o ruchu są dostępne. Używaj go, gdy użytkownik pyta, ile czasu zajmie przejazd w danym momencie. W przypadku tras TRANSIT to ustawienie korzysta z danych o transporcie publicznym w czasie rzeczywistym, takich jak opóźnienia i odwołania, jeśli są dostępne. Nie jest obsługiwana w przypadku tras WALK ani BICYCLE. Te żądania zwracają błąd INVALID_ARGUMENT. Jest to opcja Pro, więc żądanie jest rozliczane w ramach SKU Pro. Ta opcja zwiększa też czas oczekiwania.

Jeśli podczas ograniczonej GA Twój projekt nie znajduje się na liście dozwolonych Pro, ta opcja jest traktowana jako ROUTING_PREFERENCE_TRAFFIC_UNAWARE. Więcej informacji znajdziesz w sekcji Opcje Pro w okresie ograniczonego dostępu.

Przykład

Poniższe żądanie dotyczy trasy dojazdu z uwzględnieniem natężenia ruchu, z jednym przystankiem pośrednim i zakodowaną linią łamaną. Opłaty są naliczane w ramach kodu SKU Pro:

{
  "method": "tools/call",
  "params": {
    "name": "compute_routes",
    "arguments": {
      "origin": {"address": "Ferry Building, San Francisco, CA"},
      "destination": {"address": "Golden Gate Park, San Francisco, CA"},
      "intermediate_waypoints": [
        {"address": "Palace of Fine Arts, San Francisco, CA"}
      ],
      "travel_mode": "DRIVE",
      "routing_preference": "ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL",
      "include_polyline": true
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}

Odpowiedź

Odpowiedź zawiera routes[], uporządkowane od najbardziej do najmniej zalecanych. Zwracana jest tylko jedna trasa, chyba że parametr compute_alternative_routes ma wartość true. Każda trasa obejmuje:

  • distanceMeters: odległość do przebycia na trasie w metrach.
  • duration: czas potrzebny na pokonanie trasy. W przypadku ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL czas trwania uwzględnia warunki na drodze.
  • encodedPolyline: ścieżka trasy jako zakodowana linia łamana, gdy include_polyline ma wartość true. Możesz go użyć do narysowania trasy na mapie za pomocą innych interfejsów API Google Maps Platform.
  • attribution: atrybucja, którą musisz wyświetlać wraz z trasą. Zobacz Wymagania dotyczące podania źródła.

Opcje Pro podczas ograniczonego GA

W okresie ograniczonej GA opcje Pro są dostępne tylko w przypadku projektów z listy dozwolonych Pro. Jeśli Twój projekt nie jest jeszcze na liście dozwolonych:

  • ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL jest traktowany jako ROUTING_PREFERENCE_TRAFFIC_UNAWARE, a żądanie jest rozliczane w ramach SKU Essentials.
  • Żądanie zawierające więcej niż 10 punktów pośrednich zwraca błąd INVALID_ARGUMENT („Obsługiwanych jest maksymalnie 10 punktów pośrednich”).

Aby poprosić o dostęp, zapoznaj się z sekcją Opcje Pro w ramach ograniczonego GA.

Rozliczenia i limity

Każde żądanie compute_routes to jedno zdarzenie podlegające rozliczeniu:

Prośba o alternatywne trasy, linię łamaną, czas wyjazdu lub przyjazdu albo inny tryb podróży nie zmienia SKU.

Limit compute_routes wynosi 300 zapytań na minutę na projekt i jest współdzielony przez obie SKU. Ceny znajdziesz w głównej tabeli cen i tabeli cen w Indiach.

Limity

  • Żądanie może obejmować maksymalnie 25 pośrednich punktów orientacyjnych. Od 11 do 25 to opcja Pro. Żądanie z większą liczbą zwraca błąd INVALID_ARGUMENT.
  • Trasy transportu publicznego nie obsługują punktów pośrednich. Żądanie dotyczące transportu publicznego z pośrednimi punktami orientacyjnymi zwraca błąd INVALID_ARGUMENT.
  • Funkcja ROUTING_PREFERENCE_TRAFFIC_AWARE_OPTIMAL nie jest obsługiwana w przypadku tras pieszych i rowerowych.
  • W przypadku tras transportu publicznego godziny odjazdu i przyjazdu mogą być podane do 7 dni wstecz lub do 100 dni do przodu. W przypadku innych środków transportu nie mogą one przypadać w przeszłości i mogą być oddalone o maksymalnie 365 dni.
  • Współrzędne punktu pośredniego muszą mieścić się w prawidłowych granicach geograficznych (szerokość geograficzna od -90 do 90, długość geograficzna od -180 do 180).
  • Narzędzie nie zwraca szczegółowych wskazówek dojazdu, odcinków ani szczegółów linii transportu publicznego.