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. Możesz podać maskę pola odpowiedzi, używając parametru adresu URL $fields
lub fields
albo nagłówka HTTP/gRPC X-Goog-FieldMask
(patrz dostępne parametry i nagłówki adresu URL). Wartość to lista ścieżek pól rozdzielonych przecinkami. 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
Nie zalecamy używania 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 wynik z mniejszym opóźnieniem.
- 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://routespreferred.googleapis.com/v1alpha:computeRoutes
Adres URL używa składni transkodowania gRPC.
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
Zapis JSON |
---|
{ "origin": { object ( |
Pola | |
---|---|
origin |
Wymagane. Punkt pośredni na trasie. |
destination |
Wymagane. Punkt docelowy. |
intermediates[] |
Opcjonalnie: Zestaw punktów na trasie (z wyłączeniem punktów końcowych) do zatrzymania się na lub przejechania. Obsługiwanych jest maksymalnie 25 punktów pośrednich. |
travel |
Opcjonalnie: Określa środek transportu. |
routing |
Opcjonalnie: Określa sposób obliczania trasy. Serwer próbuje użyć wybranych preferencji routingu do obliczenia trasy. Jeśli preferencja routingu powoduje błąd lub wydłuża czas oczekiwania, zwracany jest błąd. Tę opcję możesz określić tylko wtedy, gdy |
polyline |
Opcjonalnie: Określa preferowaną jakość polilinii. |
polyline |
Opcjonalnie: Określa preferowane kodowanie linii łamanej. |
departure |
Opcjonalnie: Godzina odjazdu. Jeśli nie ustawisz tej wartości, zostanie ona domyślnie ustawiona na czas wysłania żądania. Jeśli ustawisz tę wartość na czas, który już minął, żądanie zakończy się niepowodzeniem. Sygnatura czasowa w formacie RFC3339 UTC „Zulu” z rozdzielczością nanosekundy i maksymalnie 9 cyframi po przecinku. Przykłady: |
compute |
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. |
route |
Opcjonalnie: Zestaw warunków, które należy spełnić, a które wpływają na sposób obliczania tras. |
language |
Opcjonalnie: Kod języka BCP-47, na przykład „en-US” lub „sr-Latn”. Więcej informacji znajdziesz w artykule Identyfikator języka w standardzie Unicode. Listę obsługiwanych języków znajdziesz w sekcji Obsługiwane języki. Jeśli nie podasz tej wartości, język wyświetlania będzie ustalany na podstawie lokalizacji żądania trasy. |
units |
Opcjonalnie: Określa jednostki miary dla pól wyświetlania. Obejmuje to pole |
optimize |
Jeśli parametr OptimizeWaypointOrder ma wartość true (prawda), podejmowana jest próba zmiany kolejności określonych pośrednich punktów pośrednich w celu zminimalizowania całkowitego kosztu trasy. Jeśli któryś z punktów pośrednich jest punktem pośrednim, żądanie się nie powiedzie. Aby znaleźć nową kolejność, użyj |
Treść odpowiedzi
W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu ComputeRoutesResponse
.
Zakresy autoryzacji
Wymaga następującego zakresu OAuth:
https://www.googleapis.com/auth/maps-platform.routespreferred
Więcej informacji znajdziesz w artykule Omówienie OAuth 2.0.