- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- RouteMatrixOrigin
- RouteMatrixDestination
- ExtraComputation
- RouteMatrixElementCondition
- LocalizedValues
Odbiera listę miejsc nadania i miejsc docelowych, a następnie zwraca strumień zawierający informacje o trasach dla każdej kombinacji miejsca nadania i miejsca docelowego.
UWAGA: ta metoda wymaga podania w danych wejściowych maski pola odpowiedzi. Możesz podać maskę pola odpowiedzi, używając parametru URL $fields
lub fields
albo nagłówka HTTP/gRPC X-Goog-FieldMask
(patrz dostępne parametry i nagłówki URL). Wartość to lista ścieżek pól rozdzielona przecinkami. 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ładowe ustawienie produkcyjne):
X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration
Ważne jest, aby w masce pola uwzględnić status
, ponieważ w przeciwnym razie wszystkie wiadomości będą wyświetlane jako OK. 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.
- 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 to może wydłużyć czas obliczeń. 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.
- Wybranie tylko potrzebnych pól powoduje mniejszy rozmiar odpowiedzi, a co za tym idzie, większą przepustowość sieci.
Żądanie HTTP
POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix
Adres URL używa składni transkodowania gRPC.
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
Zapis JSON |
---|
{ "origins": [ { object ( |
Pola | |
---|---|
origins[] |
Wymagane. Tablica źródeł, która określa wiersze macierzy odpowiedzi. Moc zbioru źródeł i miejsc docelowych podlega kilku ograniczeniom rozmiaru:
|
destinations[] |
Wymagane. Tablica miejsc docelowych, która określa kolumny macierzy odpowiedzi. |
travelMode |
Opcjonalnie. Określa środek transportu. |
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 ustawić tę opcję tylko wtedy, gdy |
departureTime |
Opcjonalnie. Godzina wyjazdu. Jeśli nie ustawisz tej wartości, zostanie ona domyślnie zdefiniowana jako czas wysłania żądania. UWAGA: wartość Używa standardu RFC 3339, w którym wygenerowany wynik jest zawsze znormalizowany według normy Z i zawiera 0, 3, 6 lub 9 cyfr ułamkowych. Dopuszczalne są też przesunięcia inne niż „Z”. Przykłady: |
arrivalTime |
Opcjonalnie. Godzina przyjazdu. UWAGA: można ustawić tylko wtedy, gdy ustawienie Używa standardu RFC 3339, w którym wygenerowany wynik jest zawsze znormalizowany według normy Z i zawiera 0, 3, 6 lub 9 cyfr ułamkowych. Dopuszczalne są też przesunięcia inne niż „Z”. Przykłady: |
languageCode |
Opcjonalnie. Kod języka BCP-47, np. „pl-PL” 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 zostanie wywnioskowany na podstawie lokalizacji pierwszego źródła. |
regionCode |
Opcjonalnie. Kod regionu podany jako 2-znakowa wartość domeny krajowej najwyższego poziomu. Więcej informacji znajdziesz w artykule Domena krajowa najwyższego poziomu. |
units |
Opcjonalnie. Określa jednostki miary dla pól wyświetlania. |
extraComputations[] |
Opcjonalnie. Lista dodatkowych obliczeń, które mogą być użyte do wykonania żądania. Uwaga: te dodatkowe obliczenia mogą zwrócić dodatkowe pola w odpowiedzi. Te dodatkowe pola muszą też być określone w masce pola, aby mogły być zwracane w odpowiedzi. |
trafficModel |
Opcjonalnie. Określa założenia stosowane podczas obliczania czasu w ruchu. To ustawienie wpływa na wartość zwracaną w polu duration w elementach |
transitPreferences |
Opcjonalnie. Określa preferencje, które wpływają na trasę zwróconą dla tras |
Treść odpowiedzi
Zawiera informacje o trasie obliczonej dla pary źródlo/miejsce docelowe w interfejsie v2.computeRouteMatrix API. Protokół można przesyłać strumieniowo do klienta.
W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:
Zapis JSON |
---|
{ "status": { object ( |
Pola | |
---|---|
status |
Kod stanu błędu tego elementu. |
condition |
Wskazuje, czy trasa została znaleziona. Niezależnie od stanu. |
distanceMeters |
Odległość do przebycia na trasie w metrach. |
duration |
Czas potrzebny na przejechanie trasy. Jeśli ustawisz wartość Czas w sekundach z maksymalnie 9 miejscami po przecinku, zakończony literą „ |
staticDuration |
Czas przejazdu trasy bez uwzględnienia warunków na drodze. Czas w sekundach z maksymalnie 9 miejscami po przecinku, zakończony literą „ |
travelAdvisory |
dodatkowe informacje o trasie. Na przykład: informacje o ograniczeniach i informacje o opłatach |
fallbackInfo |
W niektórych przypadkach, gdy serwer nie może obliczyć trasy z uwzględnieniem podanych preferencji w przypadku danego połączenia między punktem początkowym a docelowym, może użyć innego trybu obliczeń. Gdy używany jest tryb zapasowy, to pole zawiera szczegółowe informacje o odpowiednich odpowiedziach. W przeciwnym razie to pole nie jest ustawione. |
localizedValues |
Tekstowe reprezentacje właściwości obiektu |
originIndex |
Źródło w żądaniu – indeks od 0. |
destinationIndex |
Indeks miejsca docelowego w żądaniu liczony od zera. |
RouteMatrixOrigin
Pojedyncze źródło dla ComputeRouteMatrixRequest
Zapis JSON |
---|
{ "waypoint": { object ( |
Pola | |
---|---|
waypoint |
Wymagane. Punkt początkowy |
routeModifiers |
Opcjonalnie. Modyfikatory dla każdej trasy, która ma ten punkt jako punkt początkowy |
RouteMatrixDestination
Pojedyncze miejsce docelowe dla ComputeRouteMatrixRequest
Zapis JSON |
---|
{
"waypoint": {
object ( |
Pola | |
---|---|
waypoint |
Wymagane. Punkt docelowy |
ExtraComputation
dodatkowe obliczenia do wykonania podczas realizacji prośby;
Wartości w polu enum | |
---|---|
EXTRA_COMPUTATION_UNSPECIFIED |
Nieużywane. Żądania zawierające tę wartość nie zostaną zrealizowane. |
TOLLS |
Informacje o opłatach za elementy macierzy. |
RouteMatrixElementCondition
Stan zwracanej trasy.
Wartości w polu enum | |
---|---|
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED |
Używana tylko wtedy, gdy status elementu nie jest OK. |
ROUTE_EXISTS |
Trasa została znaleziona, a odpowiednie informacje zostały wypełnione w przypadku tego elementu. |
ROUTE_NOT_FOUND |
Nie znaleziono trasy. Pola zawierające informacje o trasie, takie jak distanceMeters lub duration , nie będą wypełniane w elemencie. |
LocalizedValues
tekstowe reprezentacje niektórych właściwości;
Zapis JSON |
---|
{ "distance": { object ( |
Pola | |
---|---|
distance |
Odległość do pokonania w postaci tekstu. |
duration |
Czas trwania w formie tekstowej uwzględniający warunki ruchu. Uwaga: jeśli nie przesłano żądania informacji o ruchu, ta wartość jest taka sama jak staticDuration. |
staticDuration |
Czas trwania w postaci tekstu bez uwzględniania warunków ruchu. |
transitFare |
Opłata za przejazd w formie tekstu. |