- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- RouteMatrixOrigin
- RouteMatrixDestination
- ExtraComputation
- RouteMatrixElementCondition
- LocalizedValues
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://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. W odniesieniu do mocy zbioru miejsc wylotu i przeznaczenia obowiązuje kilka ograniczeń dotyczących 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ć wybranego ustawienia routingu do obliczenia trasy. Jeśli ustawienie routingu powoduje błąd lub bardzo długie opóźnienie, zwracany jest błąd. Tę opcję możesz określić tylko wtedy, gdy |
departureTime |
Opcjonalnie: Godzina odjazdu. Jeśli nie ustawisz tej wartości, domyślnie będzie przyjęta data przesłania żądania. UWAGA: pole Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: |
arrivalTime |
Opcjonalnie: Godzina przyjazdu. UWAGA: ten parametr można ustawić tylko wtedy, gdy zasada Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: |
languageCode |
Opcjonalnie: Kod języka BCP-47, na przykład „en-US”. czy „sr-Latn”. Więcej informacji znajdziesz w sekcji Identyfikator języka Unicode. Listę obsługiwanych języków znajdziesz w sekcji Obsługa języków. Jeśli nie podasz tej wartości, język wyświetlania będzie ustalany na podstawie lokalizacji pierwszego punktu początkowego. |
regionCode |
Opcjonalnie: Kod regionu określony jako dwuznakowa wartość domeny ccTLD („domeny najwyższego poziomu”). Więcej informacji znajdziesz w artykule Domeny krajowe najwyższego poziomu. |
units |
Opcjonalnie: Określa jednostki miary dla pól wyświetlanych. |
extraComputations[] |
Opcjonalnie: Lista dodatkowych obliczeń, które mogą zostać wykorzystane do wykonania żądania. Uwaga: te dodatkowe obliczenia mogą zwrócić dodatkowe pola w odpowiedzi. Te dodatkowe pola muszą być również określone w masce pola, aby została zwrócona w odpowiedzi. |
trafficModel |
Opcjonalnie: Określa założenia, które należy zastosować przy obliczaniu czasu w ruchu. To ustawienie wpływa na wartość zwracaną w polu czasu trwania w polu |
transitPreferences |
Opcjonalnie: Określa preferencje, które mają wpływ na trasę zwracaną dla |
Treść odpowiedzi
Zawiera informacje o trasie obliczone dla pary punktu początkowego i docelowego w interfejsie v2.computeRouteMatrix API. To proto może być przesyłane 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 czy nie. Niezależny od stanu. |
distanceMeters |
Odległość przebyta trasa w metrach. |
duration |
Czas potrzebny na nawigowanie po trasie. Jeśli ustawisz Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku, kończący się cyfrą „ |
staticDuration |
Długość trasy bez uwzględnienia warunków drogowych. Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku, kończący się cyfrą „ |
travelAdvisory |
Dodatkowe informacje o trasie. Na przykład: informacje o ograniczeniach i opłatach |
fallbackInfo |
W niektórych przypadkach, gdy serwer nie jest w stanie obliczyć trasy przy określonych preferencjach dla danej pary punktu początkowego i docelowego, może użyć innego trybu obliczeń. Gdy używany jest tryb zastępczy, to pole zawiera szczegółowe informacje o odpowiedzi kreacji zastępczej. W przeciwnym razie to pole jest nieskonfigurowane. |
localizedValues |
Tekstowe przedstawienie właściwości elementu |
originIndex |
Indeks liczony od zera dla punktu początkowego w żądaniu. |
destinationIndex |
Indeks liczony od zera dla miejsca docelowego w żądaniu. |
RouteMatrixOrigin
Pojedyncze źródło dla żądania ComputeRouteMatrixRequest
Zapis JSON |
---|
{ "waypoint": { object ( |
Pola | |
---|---|
waypoint |
Wymagane. Punkt początkowy |
routeModifiers |
Opcjonalnie: Modyfikatory każdej trasy, która jako punkt początkowy |
RouteMatrixDestination
Jedno miejsce docelowe dla ComputeRouteMatrixRequest
Zapis JSON |
---|
{
"waypoint": {
object ( |
Pola | |
---|---|
waypoint |
Wymagane. Docelowy punkt na trasie |
ExtraComputation
Dodatkowe obliczenia do wykonania podczas realizacji żądania.
Wartości w polu enum | |
---|---|
EXTRA_COMPUTATION_UNSPECIFIED |
Nieużywane. Żądania zawierające tę wartość zakończą się niepowodzeniem. |
TOLLS |
Informacje o opłatach za elementy macierzy. |
RouteMatrixElementCondition
Stan zwracanej trasy.
Wartości w polu enum | |
---|---|
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED |
Używany tylko wtedy, gdy element status elementu jest nieprawidłowy. |
ROUTE_EXISTS |
Znaleziono trasę i uzupełniono odpowiednie informacje dla elementu. |
ROUTE_NOT_FOUND |
Nie znaleziono trasy. Pola zawierające informacje o trasie, np. distanceMeters lub duration , nie zostaną wypełnione w elemencie. |
LocalizedValues
Tekstowe przedstawienie określonych usług.
Zapis JSON |
---|
{ "distance": { object ( |
Pola | |
---|---|
distance |
Odległość podróży w formie tekstowej. |
duration |
Czas trwania wyrażony w formie tekstowej z uwzględnieniem warunków na drodze. Uwaga: jeśli nie zażądano informacji o ruchu, ta wartość będzie taka sama jak staticDuration. |
staticDuration |
Czas trwania wyrażony w formie tekstowej bez uwzględnienia warunków na drodze. |
transitFare |
Cena za transport publiczny w formie tekstowej. |