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ę 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 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.
  • 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/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. 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 ustawienie routingu powoduje błąd lub bardzo długie opóźnienie, zwracany jest błąd. W przyszłości możemy wdrożyć mechanizm zastępczy, aby używać innej opcji, gdy preferowana opcja nie zapewnia prawidłowego wyniku. 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 odjazdu. 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 RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

Treść odpowiedzi

W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu 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.