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. 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 pól wszystkich dostępnych pól (do ręcznej kontroli): X-Goog-FieldMask: *
  • Maska pola z czasami trwania trasy, odległościami, stanem elementu, stanem i indeksami elementów (przykładowa konfiguracja wersji produkcyjnej): 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. Odradzamy używanie 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 wyniki z krótszym czasem oczekiwania.
  • Wybranie tylko tych pól, których potrzebujesz w produkcyjnym zadaniu, zapewnia stabilną wartość opóźnienia. 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, może to spowodować pogorszenie wydajności, ponieważ każde nowe pole, które dodamy, będzie 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: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. W odniesieniu do mocy zbioru miejsc wylotu i przeznaczenia obowiązuje kilka ograniczeń dotyczących rozmiaru:

  • Liczba elementów (źródła × miejsca docelowe) w żadnym przypadku nie może być większa niż 625.
  • Liczba elementów (źródła × miejsca docelowe) nie może być większa niż 100, jeśli parametr routingPreference ma wartość TRAFFIC_AWARE_OPTIMAL.
  • 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ć wybranego ustawienia 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 travelMode ma wartość DRIVE lub TWO_WHEELER. W przeciwnym razie żądanie nie zostanie zrealizowane.

departureTime

string (Timestamp format)

Opcjonalnie: Godzina wyjazdu. Jeśli nie ustawisz tej wartości, domyślnie przyjęta zostanie godzina przesł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: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

Treść odpowiedzi

Jeśli operacja się powiedzie, 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.