- Żądanie HTTP
- Treść żądania
- Treść odpowiedzi
- RouteMatrixOrigin,
- RouteMatrixDestination:
- ExtraComputation
- RouteMatrixElementCondition
- LocalizedValues
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://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 przypadku mocy zbioru miejsc wylotu i przylotu obowiązują pewne ograniczenia dotyczące 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 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. Możesz określić tę opcję tylko wtedy, gdy |
departureTime |
Opcjonalnie. Godzina odjazdu. Jeśli nie ustawisz tej wartości, domyślnie zostanie użyta godzina przesłania żądania. UWAGA: Sygnatura czasowa w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundy i maksymalnie 9 cyframi po przecinku. Przykłady: |
arrivalTime |
Opcjonalnie. Godzina przyjazdu. UWAGA: tę opcję można ustawić tylko wtedy, gdy zasada Sygnatura czasowa w formacie RFC3339 UTC „Zulu”, z rozdzielczością nanosekundy 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 Identyfikator lokalny 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 określany na podstawie lokalizacji pierwszego punktu początkowego. |
regionCode |
Opcjonalnie. Kod regionu, określony jako dwuznakowa wartość domeny ccTLD („domena najwyższego poziomu”). Więcej informacji znajdziesz w artykule Domeny krajowe najwyższego poziomu. |
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 pól, aby zostały zwrócone w odpowiedzi. |
trafficModel |
Opcjonalnie. Określa założenia do wykorzystania przy obliczaniu czasu natężenia 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 |
Treść odpowiedzi
Zawiera informacje o trasie obliczone 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. Niezależność od statusu. |
distanceMeters |
Długość trasy w metrach. |
duration |
Czas potrzebny na nawigację po trasie. 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 na podstawie podanych ustawień dla tej konkretnej pary miejsca docelowego i miejsca docelowego, może przełączyć się na inny tryb obliczania. W przypadku używania trybu awaryjnego to pole zawiera szczegółowe informacje o odpowiedzi zastępczej. W przeciwnym razie to pole jest nieskonfigurowane. |
localizedValues |
Tekstowa reprezentacja właściwości obiektu |
originIndex |
Liczony od zera indeks źródła w żądaniu. |
destinationIndex |
Indeks miejsca docelowego w żądaniu, który jest liczony od zera. |
RouteMatrixOrigin
Jedno źródło dla ComputeRouteMatrixRequest
Zapis JSON |
---|
{ "waypoint": { object ( |
Pola | |
---|---|
waypoint |
To pole jest wymagane. Punkt na trasie początkowy |
routeModifiers |
Opcjonalnie. Modyfikatory każdej trasy, która używa tego elementu jako punktu początkowego |
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 wykonywania żądania.
Wartości w polu enum | |
---|---|
EXTRA_COMPUTATION_UNSPECIFIED |
Niewykorzystywany. Żądania zawierające tę wartość będą kończyć 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żywana tylko wtedy, gdy status elementu jest nieprawidłowy. |
ROUTE_EXISTS |
Znaleziono trasę i uzupełniono odpowiednie informacje o elemencie. |
ROUTE_NOT_FOUND |
Nie znaleziono trasy. Pola zawierające informacje o trasie, takie jak distanceMeters czy duration , nie zostaną wypełnione w elemencie. |
LocalizedValues
Tekstowa reprezentacja określonych właściwości.
Zapis JSON |
---|
{ "distance": { object ( |
Pola | |
---|---|
distance |
Odległość podróży przedstawiona w formie tekstowej. |
duration |
Czas trwania przedstawiony w formie tekstowej z uwzględnieniem warunków drogowych. Uwaga: jeśli żądanie informacji o ruchu nie zostało wysłane, ta wartość jest taka sama jak wartość staticDuration. |
staticDuration |
Czas trwania przedstawiony w formie tekstowej bez uwzględniania warunków drogowych. |
transitFare |
Opłata za transport publiczny w formie tekstowej. |