Method: computeRouteMatrix

Przeszukuje listę miejsc wylotu i przylotu, a następnie zwraca strumień zawierający informacje o trasie dla każdej kombinacji miejsca wyjazdu i celu podróży.

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ę z szczegółową dokumentacją dotyczącą tworzenia ścieżek pól.

Na przykład w tej metodzie:

  • Maska pól wszystkich dostępnych pól (do ręcznej kontroli): X-Goog-FieldMask: *
  • Maska pola z czasami trwania trasy, odległościami, stanem i warunkami elementu oraz indeksami elementów (przykładowa konfiguracja produkcyjna): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

Bardzo ważne jest, aby do maski pola dodać atrybut status, ponieważ w przeciwnym razie wszystkie wiadomości będą wyglądały poprawnie. Google nie zaleca używania maski pola odpowiedzi z symbolem wieloznacznym (*), 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.
  • Wybranie tylko potrzebnych pól powoduje mniejszy rozmiar odpowiedzi, a co za tym idzie, większą przepustowość sieci.

Żądanie HTTP

POST https://routespreferred.googleapis.com/v1:computeRouteMatrix

Adres URL używa składni transkodowania gRPC.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string
}
Pola
origins[]

object (RouteMatrixOrigin)

Wymagane. Tablica źródeł, która określa wiersze macierzy odpowiedzi. Moc zbioru źródeł i miejsc docelowych podlega kilku ograniczeniom rozmiaru:

  • Liczba elementów (źródła × miejsca docelowe) w żadnym przypadku nie może być większa niż 625.
  • Jeśli routingPreference ma wartość TRAFFIC_AWARE_OPTIMAL, liczba elementów (źródła × miejsca docelowe) nie może przekraczać 100.
  • Liczba punktów pośrednich (źródła i miejsca docelowe) podana jako placeId nie może być większa niż 50.
destinations[]

object (RouteMatrixDestination)

Wymagane. Tablica miejsc docelowych, która określa kolumny macierzy odpowiedzi.

travelMode

enum (RouteTravelMode)

Opcjonalnie: Określa środek transportu.

routingPreference

enum (RoutingPreference)

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. Możesz określić tę opcję tylko wtedy, gdy travelMode ma wartość DRIVE lub TWO_WHEELER. W przeciwnym razie żądanie się nie powiedzie.

departureTime

string (Timestamp format)

Opcjonalnie: Godzina wyjazdu. Jeśli nie podasz tej wartości, zostanie użyta domyślna wartość czasu, w którym wysłano żądanie. Jeśli ustawisz tę wartość na czas, który już minął, żądanie zakończy się niepowodzeniem.

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

Treść odpowiedzi

Jeśli operacja się uda, treść odpowiedzi będzie zawierała strumień instancji RouteMatrixElement.

Zakresy autoryzacji

Wymaga następującego zakresu OAuth:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

Więcej informacji znajdziesz w artykule Omówienie protokołu OAuth 2.0.