- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- RouteMatrixOrigin
- RouteMatrixDestination
- ExtraComputation
- RouteMatrixElementCondition
- LocalizedValues
Zwraca listę miejsc odjazdu i miejsc docelowych, a potem 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ć przy użyciu parametru adresu 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 wszystkich dostępnych pól (do sprawdzenia ręcznej):
X-Goog-FieldMask: *
- Maska pola z czasami trwania tras, odległościami, stanem, stanem i indeksami elementów (przykładowa konfiguracja produkcyjna):
X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration
Bardzo ważne jest, aby w masce pola uwzględnić wartość status
, ponieważ w przeciwnym razie wszystkie wiadomości będą wyglądały na prawidłowe. Google odradza używanie maski pola odpowiedzi z symbolem wieloznacznym (*
), ponieważ:
- Zaznaczenie tylko tych pól, które są Ci potrzebne, pozwala naszemu serwerowi skrócić cykle obliczeniowe, a przez to zwracać Ci wyniki z mniejszym opóźnieniem.
- Wybór tylko tych pól, które są potrzebne w zadaniu produkcyjnym, zapewnia stabilność czasu oczekiwania. W przyszłości możemy dodać więcej pól odpowiedzi, a te nowe pola mogą wymagać więcej czasu na obliczenia. Jeśli zaznaczysz wszystkie pola lub wybierzesz wszystkie pola na najwyższym poziomie, może nastąpić spadek wydajności, ponieważ każde dodane przez nas nowe pole zostanie automatycznie uwzględnione w odpowiedzi.
- Wybranie tylko tych pól, które są potrzebne, zmniejsza rozmiar odpowiedzi i 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[] |
To pole jest wymagane. Tablica źródeł, która określa wiersze macierzy odpowiedzi. W odniesieniu do mocy zbioru miejsc początkowych i miejsc docelowych obowiązuje kilka ograniczeń dotyczących rozmiaru:
|
destinations[] |
To pole jest 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 wyznaczyć trasę, korzystając z wybranego ustawienia routingu. Jeśli ustawienie routingu powoduje błąd lub bardzo długi czas oczekiwania, zwracany jest błąd. Możesz określić tę opcję tylko wtedy, gdy |
departureTime |
Opcjonalnie. Godzina odjazdu. Jeśli nie ustawisz tej wartości, domyślną wartością będzie czas przesłania żądania. UWAGA: w przeszłości można było określić Sygnatura czasowa w formacie „Zulu” RFC3339 UTC z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: |
arrivalTime |
Opcjonalnie. Godzina przyjazdu. UWAGA: to ustawienie można ustawić tylko wtedy, gdy Sygnatura czasowa w formacie „Zulu” RFC3339 UTC z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: |
languageCode |
Opcjonalnie. Kod języka BCP-47, np. „en-US” lub „sr-Latn”. Więcej informacji znajdziesz w artykule Lokalny identyfikator 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 zostanie określony na podstawie lokalizacji pierwszego punktu początkowego. |
regionCode |
Opcjonalnie. Kod regionu, podany jako dwuznakowa wartość domeny najwyższego poziomu (ccTLD). Więcej informacji znajdziesz w artykule Domeny krajowe najwyższego poziomu. |
units |
Opcjonalnie. Określa jednostki miary wyświetlane w polach wyświetlania. |
extraComputations[] |
Opcjonalnie. Lista dodatkowych obliczeń, które mogą zostać użyte do realizacji żądania. Uwaga: te dodatkowe obliczenia mogą zwrócić dodatkowe pola w odpowiedzi. Te dodatkowe pola muszą być też określone w masce pola, aby zostały zwrócone w odpowiedzi. |
trafficModel |
Opcjonalnie. Określa założenia do obliczenia 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 zwracaną trasę dla tras |
Treść odpowiedzi
Zawiera informacje o trasie obliczonej dla pary punktu początkowego i docelowego w interfejsie API v2.computeRouteMatrix. Protokół ten 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. Bez względu na status. |
distanceMeters |
Długość trasy w metrach. |
duration |
Długość czasu potrzebnego na pokonanie trasy. Jeśli ustawisz Czas trwania w sekundach z maksymalnie 9 cyframi po przecinku, kończącym się cyframi „ |
staticDuration |
Czas podróży po trasie bez uwzględniania warunków drogowych. Czas trwania w sekundach z maksymalnie 9 cyframi po przecinku, kończącym się cyframi „ |
travelAdvisory |
dodatkowe informacje o trasie, Na przykład informacje o ograniczeniach i opłatach |
fallbackInfo |
W niektórych przypadkach, gdy serwer nie może obliczyć trasy przy podanych preferencjach dla tej konkretnej pary miejsca docelowego i miejsca docelowego, może przełączyć się na inny tryb obliczania. 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 |
Reprezentacje tekstowe właściwości obiektu |
originIndex |
Oparty na zera indeks źródła w żądaniu. |
destinationIndex |
Oparty na zera indeks miejsca docelowego w żądaniu. |
RouteMatrixOrigin
Jedno źródło dla ComputeRouteMatrixRequest
Zapis JSON |
---|
{ "waypoint": { object ( |
Pola | |
---|---|
waypoint |
To pole jest wymagane. Punkt początkowy |
routeModifiers |
Opcjonalnie. Modyfikatory wszystkich tras, które wykorzystują to jako punkt początkowy |
RouteMatrixDestination
Jedno miejsce docelowe dla ComputeRouteMatrixRequest
Zapis JSON |
---|
{
"waypoint": {
object ( |
Pola | |
---|---|
waypoint |
To pole jest wymagane. Docelowy punkt na trasie |
ExtraComputation
Dodatkowe obliczenia do wykonania podczas realizacji żądania.
Wartości w polu enum | |
---|---|
EXTRA_COMPUTATION_UNSPECIFIED |
Nieużywany. Żądania zawierające tę wartość będą kończyć się niepowodzeniem. |
TOLLS |
Informacje o opłatach związanych z elementami macierzy. |
RouteMatrixElementCondition
Stan zwracanej trasy.
Wartości w polu enum | |
---|---|
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED |
Używana tylko wtedy, gdy status elementu nie jest prawidłowy. |
ROUTE_EXISTS |
Znaleziono trasę i uzupełniono odpowiednie informacje dla elementu. |
ROUTE_NOT_FOUND |
Nie znaleziono trasy. Pola zawierające informacje o trasie, takie jak distanceMeters czy duration , nie będą wypełniane w elemencie. |
LocalizedValues
Reprezentacje tekstowe określonych właściwości.
Zapis JSON |
---|
{ "distance": { object ( |
Pola | |
---|---|
distance |
Długość podróży przedstawiona w formie tekstowej. |
duration |
Czas trwania przedstawiony w formie tekstowej z uwzględnieniem warunków na drodze. Uwaga: jeśli nie zażądano informacji o ruchu, ta wartość jest taka sama jak wartość staticDuration. |
staticDuration |
Czas trwania przedstawiony w formie tekstowej bez uwzględnienia warunków na drodze. |
transitFare |
Opłata za transport w formie tekstowej. |