Sprawdź odpowiedź na trasę

Przy obliczaniu trasy interfejs Routes API pobiera punkty pośrednie i parametrów konfiguracji podanych jako dane wejściowe. Interfejs API zwraca odpowiedź obejmujący trasę domyślną i co najmniej jedną trasę alternatywną.

Odpowiedź może zawierać różne typy tras i inne dane w zależności od pól, o które prosisz:

Aby uwzględnić to w odpowiedzi Wyświetl tę dokumentację
Trasa z najniższym spalaniem lub energią na podstawie typu silnika. Konfigurowanie tras przyjaznych dla środowiska
Do 3 tras alternatywnych Wysyłanie zapytań o trasy alternatywne
linia łamana dla całej trasy, dla każdego odcinka trasy oraz dla każdego etapu; nogi. Prośba o linie łamane trasy
Szacowane opłaty za przejazd z uwzględnieniem wszelkich rabatów na opłaty drogowe lub biletów dostępnych dla kierowcy lub pojazdu. Obliczanie opłat drogowych
Zlokalizowane odpowiedzi według kodów języków i jednostek miary (imperialnych lub dane). Prośba o zlokalizowane wartości
Aby sformatować instrukcje nawigacyjne jako ciąg tekstowy HTML, dodaj HTML_FORMATTED_NAVIGATION_INSTRUCTIONS do extraComputations Dodatkowe obliczenia

Pełną listę opcji wprowadzania znajdziesz w artykule Dostępne opcje trasy oraz Treść żądania.

Dzięki tej odpowiedzi możesz przekazać klientom informacje niezbędnych do wyboru odpowiedniej trasy.

Informacje o maskach pól

Gdy wywołujesz metodę do obliczenia trasy, musisz podać pole określającą pola, które mają być zwracane w odpowiedzi. Brak domyślnej listy zwróconych pól. Jeśli pominiesz tę listę, metody zwrócą błąd.

Przykłady w tym dokumencie pokazują cały obiekt odpowiedzi bez uwzględniania maski pól. W środowisku produkcyjnym Twoja odpowiedź to uwzględnij tylko pola, które wyraźnie wskażesz w masce pola.

Więcej informacji znajdziesz w sekcji Wybieranie informacji do zwrócenia.

Wyświetlanie informacji o prawach autorskich

Podczas wyświetlania wyników użytkownikom musisz dołączyć to oświadczenie o prawach autorskich:

Powered by Google, ©YEAR Google

Na przykład:

Powered by Google, ©2023 Google

Informacje o trasach, odcinkach i krokach

Przed sprawdzeniem odpowiedzi zwróconej przez interfejs Routes API warto sprawdzić, powinien znać elementy składowe trasy:

Trasa, etap i krok.

Odpowiedź może zawierać informacje o każdym z tych elementów trasy:

  • Trasa: cała podróż od punktu początkowego przez dowolny pośrednich punktów pośrednich do docelowego punktu pośredniego. Trasa składa się z jednego lub więcej nóg.

  • Etap: odcinek trasy od jednego punktu do następnego. Każda noga składa się z co najmniej 1 oddzielnego kroku.

    Trasa zawiera oddzielny odcinek ścieżki od każdego punktu pośredniego do kolejnego. Jeśli na przykład trasa zawiera jeden punkt początkowy i jeden punkt pośredni docelowy punkt pośredni, trasa składa się z jednego etapu. Dla każdej wartości dodatkowy punkt pośredni dodany do trasy za miejscem początkowym i docelowym, nazywany pośrednim punktem pośrednim, interfejs API dodaje oddzielny etap.

    Interfejs API nie dodaje etapu dla pośredniego punktu pośredniego przejazdowego. Dla: Jeśli na przykład trasa zawiera punkt początkowy, pośredni punkt pośredni. Docelowy punkt pośredni zawiera tylko jeden odcinek początkowym do miejsca docelowego podczas mijania w punkcie pośrednim. Więcej informacji o przekazywanych punktach drogi znajdziesz w artykule Definiowanie przekazywanego punktu drogi.

  • Krok: pojedyncza instrukcja na danym etapie trasy. Krok to najmniejsza jednostka trasy. Może to być na przykład „Skręć w lewo na ulicę Main Street”.

Treść odpowiedzi

Obiekt JSON reprezentująca odpowiedź interfejsu API zawiera te właściwości najwyższego poziomu:

  • routes, tablica elementów typu Trasa. Tablica routes zawiera po jednym elemencie dla każdej trasy zwróconej przez interfejs API. Tablica może zawierać maksymalnie pięć elementów: domyślną trasę, trasę bardziej ekologiczną i maksymalnie 3 alternatywne trasy.

  • geocodingResults, tablica elementów typu GeocodingResults. Dla każdej lokalizacji w żądaniu (źródło, miejsce docelowe lub pośrednie punkt pośredni) określonego jako ciąg adresu lub w postaci kodu Plus Code, wyszuka identyfikator miejsca. Każdy element tej tablicy zawiera identyfikator miejsca odpowiadający lokalizacji. Lokalizacje w żądaniu określone jako identyfikator miejsca lub współrzędne długości i szerokości geograficznej nie są uwzględniane. Jeśli określono wszystkie lokalizacje za pomocą identyfikatorów miejsc lub szerokości i długości geograficznej współrzędnych, ta tablica nie została podana.

  • fallbackInfo, typu FallbackInfo. Jeśli interfejs API nie może obliczyć trasy ze wszystkich właściwości wejściowych, może skorzystać z innego sposobu obliczeń. W przypadku kreacji zastępczej używany jest tryb, w którym to pole zawiera szczegółowe informacje o kreacji zastępczej . W przeciwnym razie to pole jest nieskonfigurowane.

Odpowiedź ma taki format:

{
  // The routes array.
  "routes": [
    {
      object (Route)
    }
  ],
  // The place ID lookup results.
  "geocodingResults": [
    {
      object (GeocodedWaypoint)
    }
  ],
  // The fallback property.
  "fallbackInfo": {
    object (FallbackInfo)
  }
}

Odszyfruj tablicę tras

Odpowiedź zawiera tablicę routes, w której każdy z elementów tablicy jest określonego typu Trasa. Każdy element tablicy reprezentuje całą trasę od punktu początkowego do miejsca docelowego. Interfejs API zawsze zwraca co najmniej 1 trasę, nazywaną trasą domyślną.

Możesz poprosić o dodatkowe trasy. Jeśli żądasz trasy przyjaznej dla środowiska, tablica może zawierać 2 elementy: trasę domyślną i trasę przyjazną dla środowiska. Lub ustaw computeAlternativeRoutes na true w żądaniu, aby dodać do odpowiedzi maksymalnie 3 alternatywne trasy.

Każda trasa w tablicy jest identyfikowana za pomocą właściwości tablicy routeLabels:

Wartość Opis
DEFAULT_ROUTE Określa trasę domyślną.
FUEL_EFFICIENT Określa trasę przyjazną dla środowiska.
DEFAULT_ROUTE_ALTERNATE Wskazuje trasę alternatywną.

Tablica legs zawiera definicję każdego etapu trasy. Pozostałe właściwości, takich jak distanceMeters, duration i polyline,, zawierają ogólne informacje o trasie:

{
  "routeLabels": [
    enum (RouteLabel)
  ],
  "legs": [
    {
      object (RouteLeg)
    }
  ],
  "distanceMeters": integer,
  "duration": string,
  "routeLabels": [string],
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "description": string,
  "warnings": [
    string
  ],
  "viewport": {
    object (Viewport)
  },
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  }
  "routeToken": string
}

Ze względu na obecne warunki jazdy i inne czynniki domyślna trasa trasa przyjazna dla środowiska może być taka sama. W tym przypadku tablica routeLabels zawiera obie etykiety: DEFAULT_ROUTE i FUEL_EFFICIENT.

{
  "routes": [
    {
      "routeLabels": [
        "DEFAULT_ROUTE",
        "FUEL_EFFICIENT"
      ],
     
    }
  ]
}

Zapoznanie z tablicą nóg

Każdy element route w odpowiedzi zawiera tablicę legs, której każdy element jest typu RouteLeg. Każdy etap w tablicy określa ścieżkę z jednego punktu pośredniego do następnego wzdłuż trasy. Trasa zawsze obejmuje co najmniej jeden etap.

Właściwość legs zawiera definicję każdego kroku na etapie w parametrze tablica steps. Pozostałe właściwości, takie jak distanceMeters, duration, i polyline zawierają informacje o nodze.

{
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "steps": [
    {
      object (RouteLegStep)
    }
  ],
  "travelAdvisory": {
    object (RouteLegTravelAdvisory)
  }
}

Tablica kroków

Każdy etap odpowiedzi zawiera tablicę steps, w której każda tablica steps element jest typu RouteLegStep. Krok odpowiada jednej instrukcji na każdym etapie. Noga zawsze zawiera co najmniej jeden krok.

Każdy element w tablicy steps zawiera zmienne navigationInstruction właściwość, typu NavigationInstruction, który zawiera instrukcję dotyczącą kroków. Na przykład:

"navigationInstruction": {
  "maneuver": "TURN_LEFT",
  "instructions": "Turn left toward Frontage Rd"
}

instructions może zawierać dodatkowe informacje o kroku. Przykład:

"navigationInstruction": {
  "maneuver": "TURN_SLIGHT_LEFT",
  "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days"
}

Pozostałe właściwości w kroku opisują informacje na jego temat, np. jako distanceMeters, duration i polyline:

{
  "distanceMeters": integer,
  "staticDuration": string,
  "polyline": {
    object (Polyline)
  },
  "startLocation": {
    object (Location)
  },
  "endLocation": {
    object (Location)
  },
  "navigationInstruction": {
    object (NavigationInstruction)
  }
}

Określ język instrukcji dotyczących kroku

Interfejs API zwraca informacje o trasie w języku lokalnym transliterację na czytelny dla użytkownika, jeśli to konieczne, przyglądając się preferencjom język. Komponenty adresu są zwracane w tym samym języku.

  • Aby to zrobić, użyj parametru languageCode request do wyraźnie ustawić język trasy na liście obsługiwanych języki. Google często aktualizuje obsługiwane języków, więc ta lista może nie być wyczerpująca.

  • Jeśli nazwa nie jest dostępna w wybranym języku, interfejs API używa metody jak najbardziej zbliżona do siebie.

  • Określony język może wpłynąć na zestaw wyników, które Zwracane dane API są w takiej kolejności, w jakiej są zwracane. geokoder różnie interpretuje skróty w zależności od języka, np. skrótów typów ulic lub synonimów, które mogą być stosowane w jednym a nie w innym. Na przykład: utca i tér to synonimy po węgiersku.

Opis tablicy geocodingResults

Dla każdej lokalizacji w żądaniu (źródło, miejsce docelowe lub pośrednie punkt pośredni) określonego jako ciąg adresu lub w postaci kodu Plus Code, Interfejs API próbuje znaleźć najtrafniejszą lokalizację, która ma swoje miejsce ID. Każdy element argumentu geocodingResults tablica zawiera pole placeID zawierające lokalizację jako identyfikator miejsca oraz pole type określające lokalizację typ, na przykład street_address, premise lub airport.

Tablica geocodingResults zawiera trzy pola:

  • origin: jeśli został podany jako ciąg adresu lub kod Plus Code, identyfikator punktu początkowego. W przeciwnym razie to pole jest pomijane w odpowiedzi.

  • destination: jeśli został podany jako ciąg adresu lub kod Plus Code, identyfikator miejsca docelowego. W przeciwnym razie to pole jest pomijane w .

  • intermediates: tablica zawierająca identyfikator miejsca dowolnego pośredniego punkty pośrednie określone jako ciąg adresu lub kod Plus. Jeśli określisz punkt pośredni za pomocą identyfikatora miejsca lub współrzędnych geograficznych, zostanie on pominięty w odpowiedzi. Użyj właściwość intermediateWaypointRequestIndex w odpowiedzi do określenia; pośredni punkt pośredni w żądaniu odpowiada identyfikatorowi miejsca w odpowiedź.

"geocodingResults": {
    "origin": {
        "geocoderStatus": {},
        "type": [
             enum (Type)
        ],
        "placeId": string
    },
    "destination": {
        "geocoderStatus": {},
        "type": [
            enum (Type)
        ],
        "placeId": string
    },
    "intermediates": [
        {
            "geocoderStatus": {},
            "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        },
        {
           "geocoderStatus": {},
           "intermediateWaypointRequestIndex": integer,
            "type": [
                enum (Type)
            ],
            "placeId": string
        }
    ]
}

Wartości zlokalizowanych odpowiedzi

Zlokalizowane wartości odpowiedzi to dodatkowe pole odpowiedzi, które zawiera zlokalizowany tekst zwracanych wartości parametrów. Zlokalizowany tekst jest dostępny dla: czas trwania podróży, odległość i system jednostek (metryczny lub imperialny). Ty prosisz zlokalizowane wartości za pomocą maski pola i możesz określić język lub użyć wartości uzyskanych przez interfejs API. Więcej informacji znajdziesz w sekcji LocalizedValues.

Na przykład, jeśli określisz kod języka dla niemieckiego (de) i imperialnego otrzymujesz wartość distanceMeters w wysokości 49889, 7, ale też o zlokalizowanym tekście, który umożliwia pomiar odległości w języku niemieckim i jednostek imperialnych, czyli „31 Meile”.

Oto przykład wartości zlokalizowanych:

{ "localized_values":
  {
    "distance": { "text": "31,0 Meile/n" },
    "duration": { "text": 38 Minuten}.
    "static_duration": { "text": 36 Minuten}.
  }
}

Jeśli nie określisz języka lub systemu jednostek, interfejs API ustali język w następujący sposób:

  • Metoda ComputeRoutes określa lokalizację i odległość od punktu początkowego. W przypadku żądania routingu w Stanach Zjednoczonych interfejs API określa język en-US i jednostki: IMPERIAL.
  • Domyślna metoda metody ComputeRouteMatrix to „en-US”. język i METRIC.