Method: computeRouteMatrix

Pobiera listę miejsc początkowych i docelowych, a następnie zwraca strumień zawierający informacje o trasie dla każdej kombinacji punktu początkowego i docelowego.

UWAGA: ta metoda wymaga określenia maski pola odpowiedzi w danych wejściowych. Maską pola odpowiedzi możesz podać za pomocą parametru URL $fields lub fields albo nagłówka HTTP/gRPC X-Goog-FieldMask (zobacz dostępne parametry i nagłówki adresu URL). Wartość jest rozdzielaną przecinkami listą ś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 kontroli ręcznej): X-Goog-FieldMask: *
  • Maska pola z czasami trwania trasy, odległościami, stanem elementu, stanem i indeksami elementów (przykładowa konfiguracja produkcyjna): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

Ważne jest, aby w masce pola podać status, ponieważ w przeciwnym razie wszystkie wiadomości będą wyglądały na prawidłowe. Google odradza korzystanie z maski pola odpowiedzi z symbolem wieloznacznym (*), ponieważ:

  • Zaznaczenie tylko tych pól, które są Ci potrzebne, pomaga naszemu serwerowi skrócić cykle obliczeniowe, a tym samym zwrócić Ci wynik z mniejszym czasem oczekiwania.
  • Wybór tylko tych pól, których potrzebujesz w zadaniu produkcyjnym, zapewnia stabilny czas oczekiwania. W przyszłości możemy dodać więcej pól odpowiedzi i te nowe pola mogą wymagać więcej czasu na obliczenia. Jeśli wybierzesz wszystkie pola lub wszystkie pola na najwyższym poziomie, może nastąpić spadek wydajności, ponieważ każde nowe pole, które dodajemy, będzie automatycznie uwzględniane w odpowiedzi.
  • Wybranie tylko tych pól, które są Ci potrzebne, spowoduje zmniejszenie rozmiaru odpowiedzi i 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)

To pole jest wymagane. Tablica źródeł, która określa wiersze macierzy odpowiedzi. W przypadku mocy zbioru miejsc wylotu i przylotu obowiązują pewne ograniczenia dotyczące rozmiaru:

  • Liczba elementów (źródła × miejsca docelowe) nie może być w każdym przypadku większa niż 625.
  • Liczba elementów (źródeł × miejsca docelowe) nie może być większa niż 100, jeśli ustawienie routingu ma wartość TRAFFIC_AWARE_OPTIMAL.
  • Liczba punktów na trasie (miejsca początkowe + miejsca docelowe) określone jako placeId nie może być większa niż 50.
destinations[]

object (RouteMatrixDestination)

To pole jest 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 ustawienia routingu spowodują błąd lub bardzo długi czas oczekiwania, zostanie zwrócony błąd. W przyszłości możemy wdrożyć mechanizm zastępczego, aby użyć innej opcji, jeśli preferowana opcja nie daje prawidłowego wyniku. Możesz określić tę opcję tylko wtedy, gdy travelMode ma wartość DRIVE lub TWO_WHEELER. W przeciwnym razie żądanie nie powiedzie się.

departureTime

string (Timestamp format)

Opcjonalnie. Godzina odjazdu. Jeśli nie ustawisz tej wartości, domyślnie zostanie użyta godzina przesłania żądania. Jeśli ustawisz tę wartość na czas, który już występuje, żądanie nie powiedzie się.

Sygnatura czasowa w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundy 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.