Żądanie i odpowiedź interfejsu Distance Matrix API

Deweloperzy z Europejskiego Obszaru Gospodarczego (EOG)

Wprowadzenie

Żądanie do interfejsu Distance Matrix API ma następującą formę:

https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters

gdzie outputFormat może mieć jedną z tych wartości:

  • json (zalecane) oznacza dane wyjściowe w formacie JSON (JavaScript Object Notation).
  • xml oznacza dane wyjściowe w formacie XML.

Niektóre parametry są wymagane, a inne opcjonalne. Zgodnie ze standardem adresów URL wszystkie parametry są rozdzielane znakiem ampersand (&). Wszystkie znaki zarezerwowane (np. znak plusa „+”) muszą być zakodowane na potrzeby adresu URL. Listę parametrów i ich możliwych wartości znajdziesz poniżej.

Wymagane parametry

  • miejsca docelowe

    Co najmniej 1 lokalizacja, która będzie używana jako punkt końcowy do obliczania odległości i czasu podróży. Opcje parametru miejsc docelowych są takie same jak w przypadku parametru miejsc początkowych.

  • pochodzenie,

    Punkt początkowy do obliczania odległości i czasu podróży. Możesz podać co najmniej 1 lokalizację rozdzieloną znakiem | w postaci identyfikatora miejsca, adresu lub współrzędnych określających szerokość i długość geograficzną:

    • Identyfikator miejsca: jeśli podasz identyfikator miejsca, musisz dodać przed nim prefiks place_id:.
    • Adres: jeśli podasz adres, usługa geokoduje ciąg znaków i konwertuje go na współrzędne geograficzne, aby obliczyć odległość. Te współrzędne mogą się różnić od tych zwracanych przez interfejs Geocoding API, np. mogą wskazywać wejście do budynku, a nie jego środek.
      Uwaga: zalecamy używanie identyfikatorów miejsc zamiast adresów lub współrzędnych geograficznych. Użycie współrzędnych zawsze spowoduje przyciągnięcie punktu do drogi najbliższej tym współrzędnym, która może nie być punktem dostępu do nieruchomości ani nawet drogą, która szybko lub bezpiecznie prowadzi do miejsca docelowego. Użycie adresu spowoduje podanie odległości do środka budynku, a nie do wejścia do niego.
    • Współrzędne: jeśli podasz współrzędne szerokości i długości geograficznej, zostaną one przyciągnięte do najbliższej drogi. Zalecane jest przekazywanie identyfikatora miejsca. Jeśli przekazujesz współrzędne, upewnij się, że między wartościami szerokości i długości geograficznej nie ma spacji.
    • Kody Plus Code muszą być sformatowane jako kod globalny lub kod złożony. Kody plus należy formatować w sposób pokazany poniżej (znaki plus są kodowane w adresie URL jako %2B, a spacje jako %20):
      • kod globalny to 4-znakowy numer kierunkowy i 6-znakowy lub dłuższy kod lokalny (849VCWC8+R9 jest zakodowany jako 849VCWC8%2BR9).
      • kod złożony to lokalny kod składający się z co najmniej 6 znaków, który zawiera wyraźną lokalizację (CWC8+R9 Mountain View, CA, USA jest kodowany jako CWC8%2BR9%20Mountain%20View%20CA%20USA).
    • Zakodowana linia łamana Możesz też podać zakodowany zestaw współrzędnych, korzystając z algorytmu zakodowanej linii łamanej. Jest to szczególnie przydatne, jeśli masz dużą liczbę punktów początkowych, ponieważ adres URL jest znacznie krótszy, gdy używasz zakodowanej linii łamanej.
      • Zakodowane linie łamane muszą być poprzedzone znakiem enc: i dwukropkiem :. Na przykład: origins=enc:gfo}EtohhU:
      • Możesz też dodać wiele zakodowanych linii łamanych rozdzielonych znakiem potoku |. Na przykład:
        origins=enc:wc~oAwquwMdlTxiKtqLyiK:|enc:c~vnAamswMvlTor@tjGi}L:|enc:udymA{~bxM:
        

Parametry opcjonalne

  • arrival_time

    Określa preferowany czas przyjazdu w przypadku wskazówek dojazdu transportem publicznym w sekundach od północy 1 stycznia 1970 r. czasu UTC. Możesz określić wartość departure_time lub arrival_time, ale nie obie jednocześnie. Pamiętaj, że wartość arrival_time musi być liczbą całkowitą.

  • unikać

    Odległości mogą być obliczane z uwzględnieniem pewnych ograniczeń. Ograniczenia są wskazywane za pomocą parametru avoid i argumentu tego parametru, który wskazuje ograniczenie, którego należy unikać. Obsługiwane są te ograniczenia:

    • tolls oznacza, że obliczona trasa powinna omijać drogi i mosty płatne.
    • highways oznacza, że obliczona trasa powinna omijać autostrady.
    • ferries oznacza, że obliczona trasa powinna omijać promy.
    • indoor oznacza, że obliczona trasa powinna unikać schodów w budynkach w przypadku wskazówek pieszych i wskazówek dojazdu transportem publicznym.

    Możesz poprosić o wyznaczenie trasy, która omija dowolną kombinację dróg płatnych, autostrad i przepraw promowych, przekazując oba ograniczenia do parametru avoid. Na przykład avoid=tolls|highways|ferries.

    Uwaga: dodanie ograniczeń nie wyklucza tras, które obejmują ograniczoną funkcję, ale faworyzuje trasy bardziej korzystne.
  • departure_time

    Określa preferowaną godzinę odjazdu. Możesz podać czas jako liczbę całkowitą w sekundach od północy 1 stycznia 1970 r. czasu UTC. Jeśli podana data departure_time jest późniejsza niż 9999-12-31T23:59:59.999999999Z, interfejs API przywróci datę departure_time do 9999-12-31T23:59:59.999999999Z. Możesz też podać wartość now, która ustawi godzinę odjazdu na bieżącą godzinę (z dokładnością do sekundy). Godzinę odjazdu można podać w 2 przypadkach:

    • W przypadku żądań, w których środkiem transportu jest transport publiczny, możesz opcjonalnie określić jedną z wartości departure_time lub arrival_time. Jeśli nie podasz żadnego czasu, domyślnie zostanie użyta wartość departure_time (czyli czas odjazdu będzie domyślnie ustawiony na bieżący czas).
    • W przypadku żądań, w których tryb podróży to jazda samochodem, możesz określić parametr departure_time, aby otrzymać trasę i czas trwania podróży (pole odpowiedzi: duration_in_traffic) uwzględniające warunki na drodze. departure_time musi być ustawiona na bieżący czas lub czas w przyszłości. Nie może przypadać w przeszłości.
    Uwaga: jeśli czas odjazdu nie zostanie określony, wybór trasy i czasu podróży będą zależeć od sieci dróg i średnich warunków na drodze niezależnych od czasu. Wyniki dla danego żądania mogą się zmieniać z czasem ze względu na zmiany w sieci dróg, zaktualizowane średnie warunki na drodze i rozproszony charakter usługi. Wyniki mogą się też różnić w przypadku niemal identycznych tras w dowolnym momencie lub z dowolną częstotliwością.
    Uwaga: żądania interfejsu Distance Matrix API określające departure_time when mode=driving są ograniczone do maksymalnie 100 elementów na żądanie. Liczba punktów początkowych pomnożona przez liczbę punktów docelowych określa liczbę elementów.
  • language

    Język, w którym mają być zwracane wyniki.

    • Zobacz listę obsługiwanych języków. Google często aktualizuje listę obsługiwanych języków, więc może ona nie być wyczerpująca.
    • Jeśli parametr language nie zostanie podany, interfejs API spróbuje użyć preferowanego języka określonego w nagłówku Accept-Language.
    • Interfejs API stara się podać adres ulicy, który jest czytelny zarówno dla użytkownika, jak i dla mieszkańców. Aby to osiągnąć, zwraca adresy w języku lokalnym, a w razie potrzeby transliteruje je na pismo czytelne dla użytkownika, uwzględniając preferowany język. Wszystkie pozostałe adresy są zwracane w preferowanym języku. Wszystkie komponenty adresu są zwracane w tym samym języku, który jest wybierany na podstawie pierwszego komponentu.
    • Jeśli nazwa nie jest dostępna w preferowanym języku, interfejs API użyje najbliższego dopasowania.
    • Preferowany język ma niewielki wpływ na zestaw wyników, które interfejs API wybiera do zwrócenia, oraz na kolejność, w jakiej są one zwracane. Geokoder interpretuje skróty w różny sposób w zależności od języka, np. skróty typów ulic lub synonimy, które mogą być prawidłowe w jednym języku, ale nie w innym. Na przykład utcatér to synonimy słowa „ulica” w języku węgierskim.
  • tryb

    Aby obliczyć odległości i wyznaczyć trasę, możesz określić używany środek transportu. Domyślnie używany jest tryb DRIVING. Domyślnie wskazówki dojazdu są obliczane jako wskazówki dojazdu samochodem. Obsługiwane są te środki transportu:

    • driving (domyślnie) wskazuje standardowe wskazówki dojazdu lub odległość w sieci dróg.
    • walking prosi o trasę pieszą lub o odległość, korzystając ze ścieżek dla pieszych i chodników (jeśli są dostępne);
    • bicycling prosi o wskazówki dojazdu rowerem lub o odległość do pokonania rowerem, korzystając ze ścieżek rowerowych i preferowanych ulic (jeśli są dostępne).
    • transit prosi o wskazówki dojazdu lub odległość, korzystając z tras transportu publicznego (tam, gdzie są dostępne); Jeśli ustawisz tryb transportu publicznego, możesz opcjonalnie określić departure_time lub arrival_time. Jeśli nie podasz żadnego czasu,departure_time domyślnie będzie to bieżący czas (czyli czas odjazdu będzie domyślnie ustawiony na bieżącą godzinę). Możesz też opcjonalnie dodać transit_mode lub transit_routing_preference.
    Uwaga: wskazówki dojazdu pieszo i rowerem mogą czasami nie obejmować wyraźnych ścieżek dla pieszych lub rowerzystów, dlatego w wyniku zwracają ostrzeżenia, które musisz wyświetlić użytkownikowi.
    Uwaga: trasy transportu publicznego są dostępne do 7 dni wstecz lub do 100 dni w przyszłości, w zależności od dostępności informacji o transporcie publicznym dostarczanych przez dostawców danych. Rozkłady jazdy transportu publicznego często się zmieniają, dostępne przejazdy mogą się zmieniać z czasem, a w przypadku prognoz z dużym wyprzedzeniem nie ma gwarancji uzyskania spójnych wyników.
  • region

    Kod regionu określony jako 2-znakowa wartość ccTLD („domena najwyższego poziomu”). Większość kodów ccTLD jest identyczna z kodami ISO 3166-1, z kilkoma znaczącymi wyjątkami. Na przykład krajowa domena najwyższego poziomu Zjednoczonego Królestwa to „uk” (.co.uk), a kod ISO 3166-1 to „gb” (technicznie dla podmiotu „Zjednoczone Królestwo Wielkiej Brytanii i Irlandii Północnej”).

  • traffic_model

    Określa założenia, które mają być używane podczas obliczania czasu w ruchu. To ustawienie wpływa na wartość zwracaną w polu duration_in_traffic w odpowiedzi, która zawiera przewidywany czas podróży z uwzględnieniem ruchu na podstawie średnich wartości historycznych. Parametr traffic_model można określić tylko w przypadku wskazówek dojazdu, gdy żądanie zawiera parametr departure_time. Dostępne wartości tego parametru to:

    • best_guess (domyślny) oznacza, że zwrócony atrybut duration_in_traffic powinien być najlepszym oszacowaniem czasu podróży na podstawie historycznych warunków na drodze i aktualnego natężenia ruchu. Im bliżej jest departure_time do teraźniejszości, tym większe znaczenie ma ruch na żywo.
    • pessimistic oznacza, że zwrócony czas trwania w ruchu powinien być dłuższy niż rzeczywisty czas podróży w większości dni, chociaż w niektóre dni, gdy warunki na drodze są szczególnie złe, może on być większy.
    • optimistic oznacza, że zwrócony czas trwania w ruchu powinien być krótszy niż rzeczywisty czas podróży w większości dni, chociaż w niektóre dni, gdy warunki na drodze są szczególnie dobre, czas podróży może być krótszy niż ta wartość.

    Wartość domyślna best_guess zapewni najbardziej przydatne prognozy w większości przypadków. Możliwe, że best_guess prognoza czasu podróży będzie krótsza niż optimistic lub dłuższa niż pessimistic ze względu na sposób, w jaki best_guess model prognozowania integruje informacje o aktualnym natężeniu ruchu.

  • transit_mode

    Określa co najmniej 1 preferowany środek transportu. Ten parametr można określić tylko w przypadku wskazówek dojazdu transportem publicznym. Parametr obsługuje te argumenty:

    • bus oznacza, że obliczona trasa powinna preferować podróż autobusem.
    • subway oznacza, że obliczona trasa powinna preferować podróż metrem.
    • train oznacza, że obliczona trasa powinna preferować podróż pociągiem.
    • tram oznacza, że obliczona trasa powinna preferować podróż tramwajem i koleją miejską.
    • rail oznacza, że obliczona trasa powinna preferować podróż pociągiem, tramwajem, koleją miejską i metrem. Jest to odpowiednik transit_mode=train|tram|subway.
  • transit_routing_preference

    Określa preferencje dotyczące tras transportu publicznego. Za pomocą tego parametru możesz zmienić preferencje dotyczące zwracanych opcji zamiast akceptować domyślną najlepszą trasę wybraną przez interfejs API. Ten parametr można określić tylko w przypadku wskazówek dojazdu transportem publicznym. Parametr obsługuje te argumenty:

    • less_walking oznacza, że obliczona trasa powinna wymagać ograniczonej ilości chodzenia.
    • fewer_transfers oznacza, że obliczona trasa powinna mieć ograniczoną liczbę przesiadek.
  • jedn.

    Określa system jednostek, który ma być używany podczas wyświetlania wyników.

    Uwaga: to ustawienie układu jednostek wpływa tylko na tekst wyświetlany w polach odległości. Pola odległości zawierają też wartości, które są zawsze wyrażone w metrach.

Przykłady żądań

W tym przykładzie do określenia współrzędnych miejsca docelowego użyto współrzędnych geograficznych: szerokości i długości geograficznej:

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?destinations=40.659569%2C-73.933783%7C40.729029%2C-73.851524%7C40.6860072%2C-73.6334271%7C40.598566%2C-73.7527626
  &origins=40.6655101%2C-73.89188969999998
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=40.6655101%2C-73.89188969999998&destinations=40.659569%2C-73.933783%7C40.729029%2C-73.851524%7C40.6860072%2C-73.6334271%7C40.598566%2C-73.7527626&key=YOUR_API_KEY'

W tym przykładzie do określenia współrzędnych miejsca docelowego używamy kodów plus:

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?destinations=San%20Francisco
  &origins=849VCWC8%2BR9
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=849VCWC8%2BR9&destinations=San%20Francisco&key=YOUR_API_KEY'

Ten przykład pokazuje to samo żądanie z użyciem zakodowanej linii łamanej:

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?destinations=enc%3A_kjwFjtsbMt%60EgnKcqLcaOzkGari%40naPxhVg%7CJjjb%40cqLcaOzkGari%40naPxhV%3A
  &origins=40.6655101%2C-73.89188969999998
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=40.6655101%2C-73.89188969999998&destinations=enc%3A_kjwFjtsbMt%60EgnKcqLcaOzkGari%40naPxhVg%7CJjjb%40cqLcaOzkGari%40naPxhV%3A&key=YOUR_API_KEY'

Informacje o natężeniu ruchu

Informacje o ruchu są używane, gdy wszystkie poniższe warunki są spełnione (są to warunki wymagane do otrzymania pola duration_in_traffic w odpowiedzi z interfejsu Distance Matrix API):

  • Parametr mode podróży ma wartość driving lub nie jest określony (driving to domyślny środek transportu).
  • Żądanie zawiera prawidłowy parametr departure_time. departure_time można ustawić na bieżący czas lub na czas w przyszłości. Nie może przypadać w przeszłości.

Opcjonalnie możesz uwzględnić w żądaniu parametr traffic_model, aby określić założenia, które mają być używane podczas obliczania czasu w ruchu.

Poniższy adres URL inicjuje żądanie macierzy odległości dla odległości dojazdu samochodem między Bostonem w stanie Massachusetts lub Charlestown w stanie Massachusetts a Lexington w stanie Massachusetts i Concord w stanie Massachusetts. Żądanie zawiera czas odjazdu, który spełnia wszystkie wymagania dotyczące zwracania pola duration_in_traffic w odpowiedzi macierzy odległości.

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?departure_time=now
  &destinations=Lexington%2CMA%7CConcord%2CMA
  &origins=Boston%2CMA%7CCharlestown%2CMA
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=Boston%2CMA%7CCharlestown%2CMA&destinations=Lexington%2CMA%7CConcord%2CMA&departure_time=now&key=YOUR_API_KEY'

JSON

{
  "destination_addresses": ["Lexington, MA, USA", "Concord, MA, USA"],
  "origin_addresses": ["Boston, MA, USA", "Charlestown, Boston, MA, USA"],
  "rows":
    [
      {
        "elements":
          [
            {
              "distance": { "text": "33.3 km", "value": 33253 },
              "duration": { "text": "27 mins", "value": 1620 },
              "duration_in_traffic": { "text": "34 mins", "value": 2019 },
              "status": "OK",
            },
            {
              "distance": { "text": "41.5 km", "value": 41491 },
              "duration": { "text": "33 mins", "value": 1981 },
              "duration_in_traffic": { "text": "39 mins", "value": 2342 },
              "status": "OK",
            },
          ],
      },
      {
        "elements":
          [
            {
              "distance": { "text": "31.1 km", "value": 31100 },
              "duration": { "text": "26 mins", "value": 1543 },
              "duration_in_traffic": { "text": "29 mins", "value": 1754 },
              "status": "OK",
            },
            {
              "distance": { "text": "39.3 km", "value": 39338 },
              "duration": { "text": "32 mins", "value": 1904 },
              "duration_in_traffic": { "text": "35 mins", "value": 2077 },
              "status": "OK",
            },
          ],
      },
    ],
  "status": "OK",
}

XML


 OK
 Boston, MA, USA
 Charlestown, Boston, MA, USA
 Lexington, MA, USA
 Concord, MA, USA
 
  
   OK
   
    1620
    27 mins
   
   
    33253
    33.3 km
   
   
    2018
    34 mins
   
  
  
   OK
   
    1981
    33 mins
   
   
    41491
    41.5 km
   
   
    2342
    39 mins
   
  
 
 
  
   OK
   
    1543
    26 mins
   
   
    31100
    31.1 km
   
   
    1759
    29 mins
   
  
  
   OK
   
    1904
    32 mins
   
   
    39338
    39.3 km
   
   
    2077
    35 mins
   
  
 

Modyfikatory lokalizacji

Możesz używać modyfikatorów lokalizacji, aby wskazać kierowcom, jak mają podjechać do określonego miejsca. Użyj modyfikatora side_of_road, aby określić, po której stronie drogi mają się poruszać, lub podaj kierunek, aby wskazać prawidłowy kierunek jazdy.

określić, że obliczone trasy muszą przebiegać po określonej stronie drogi;

Podczas określania lokalizacji możesz poprosić, aby obliczona trasa przebiegała po tej stronie drogi, w kierunku której jest przesunięty punkt pośredni, używając prefiksu side_of_road:. Na przykład to żądanie zwróci odległość dla długiej trasy, tak aby pojazd zatrzymał się po stronie drogi, do której był przesunięty punkt pośredni:

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?destinations=side_of_road%3A37.7663444%2C-122.4412006
  &origins=37.7680296%2C-122.4375126
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=37.7680296%2C-122.4375126&destinations=side_of_road%3A37.7663444%2C-122.4412006&key=YOUR_API_KEY'

Gdy używasz klawisza side_of_road: z zakodowanymi liniami łamanymi, modyfikator jest stosowany do każdej lokalizacji wzdłuż linii łamanej. Na przykład oba miejsca docelowe w tym żądaniu używają tego parametru:

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?destinations=side_of_road%3Aenc%3A%7BoqeF%60fejV%5BnC%3A
  &origins=San%20Francisco%20City%20hall
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=San%20Francisco%20City%20hall&destinations=side_of_road%3Aenc%3A%7BoqeF%60fejV%5BnC%3A&key=YOUR_API_KEY'

Modyfikator side_of_road: można stosować tylko z tym ograniczeniem:

  • Parametr mode podróży ma wartość driving lub nie jest określony (driving to domyślny środek transportu).

Określanie, że obliczone trasy mają mieć określony kierunek

Podczas określania lokalizacji możesz poprosić, aby obliczona trasa przebiegała przez daną lokalizację w określonym kierunku. Ten nagłówek jest określany za pomocą prefiksu heading=X:, gdzie X to wartość kąta w stopniach (liczba całkowita) z zakresu od 0 (włącznie) do 360 (wyłącznie). Kierunek 0 oznacza północ, 90 – wschód, a kolejne wartości są podawane zgodnie z ruchem wskazówek zegara. Na przykład w tym żądaniu obliczona trasa prowadzi na wschód od punktu początkowego, a następnie zawraca:

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?destinations=37.773245%2C-122.469502
  &origins=heading%3D90%3A37.773279%2C-122.468780
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=heading%3D90%3A37.773279%2C-122.468780&destinations=37.773245%2C-122.469502&key=YOUR_API_KEY'

Modyfikator heading=X: może być używany tylko z tymi ograniczeniami:

  • Parametr podróży mode ma wartość driving, bicycling lub nie jest określony (driving to domyślny środek transportu).
  • Modyfikator side_of_road nie jest określony dla tej samej lokalizacji.
  • Lokalizacja jest określana za pomocą wartości szerokości i długości geograficznej. Nie możesz używać parametru heading z adresami, identyfikatorami miejsc ani zakodowanymi poliliniami.

Żądania i odpowiedzi dotyczące macierzy odległości

Poniżej znajduje się przykładowe żądanie HTTP, w którym prosisz o podanie odległości i czasu trwania podróży z Vancouver w Kanadzie i z Seattle w USA do San Francisco w USA i do Victorii w Kanadzie.

URL

https://maps.googleapis.com/maps/api/distancematrix/json
  ?destinations=San%20Francisco%7CVictoria%20BC
  &language=fr-FR
  &mode=bicycling
  &origins=Vancouver%20BC%7CSeattle
  &key=YOUR_API_KEY

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/distancematrix/json?origins=Vancouver%20BC%7CSeattle&destinations=San%20Francisco%7CVictoria%20BC&mode=bicycling&language=fr-FR&key=YOUR_API_KEY'

To żądanie zwróci 4 elementy – 2 punkty początkowe i 2 punkty docelowe:

Z Vancouver do San Francisco Vancouver – Victoria
Seattle–San Francisco Seattle – Victoria

Wyniki są zwracane w wierszach, z których każdy zawiera 1 miejsce początkowe sparowane z każdym miejscem docelowym.

JSON

{
  "destination_addresses":
    ["San Francisco, Californie, États-Unis", "Victoria, BC, Canada"],
  "origin_addresses":
    ["Vancouver, BC, Canada", "Seattle, Washington, États-Unis"],
  "rows":
    [
      {
        "elements":
          [
            {
              "distance": { "text": "1 712 km", "value": 1711765 },
              "duration": { "text": "3 jours 16 heures", "value": 318119 },
              "status": "OK",
            },
            {
              "distance": { "text": "140 km", "value": 139695 },
              "duration": { "text": "6 heures 49 minutes", "value": 24567 },
              "status": "OK",
            },
          ],
      },
      {
        "elements":
          [
            {
              "distance": { "text": "1 452 km", "value": 1451704 },
              "duration": { "text": "3 jours 2 heures", "value": 266680 },
              "status": "OK",
            },
            {
              "distance": { "text": "146 km", "value": 146500 },
              "duration": { "text": "2 heures 53 minutes", "value": 10374 },
              "status": "OK",
            },
          ],
      },
    ],
  "status": "OK",
}

XML


 OK
 Vancouver, BC, Canada
 Seattle, Washington, États-Unis
 San Francisco, Californie, États-Unis
 Victoria, BC, Canada
 
  
   OK
   
    318119
    3 jours 16 heures
   
   
    1711765
    1712 km
   
  
  
   OK
   
    24567
    6 heures 49 minutes
   
   
    139695
    140 km
   
  
 
 
  
   OK
   
    266680
    3 jours 2 heures
   
   
    1451704
    1452 km
   
  
  
   OK
   
    10374
    2 heures 53 minutes
   
   
    146500
    146 km
   
  
 

DistanceMatrixResponse

Pole Wymagane Typ Opis
wymagane Array<string>

Tablica adresów zwrócona przez interfejs API z pierwotnego żądania. Podobnie jak w przypadku origin_addresses, te elementy są w razie potrzeby dostosowywane do lokalnych rynków. Te treści mają być odczytywane w takiej formie, w jakiej są wyświetlane. Nie analizuj sformatowanych adresów za pomocą oprogramowania.

wymagane Array<string>

Tablica adresów zwrócona przez interfejs API z pierwotnego żądania. Są one formatowane przez geokoder i dostosowywane do języka określonego w parametrze języka przekazanym w żądaniu. Te treści mają być odczytywane w takiej formie, w jakiej są wyświetlane. Nie analizuj sformatowanych adresów automatycznie.

wymagane Array<DistanceMatrixRow>

Tablica elementów, z których każdy zawiera element status, durationdistance.

Więcej informacji znajdziesz w sekcji DistanceMatrixRow.

wymagane DistanceMatrixStatus

Zawiera stan żądania i może zawierać informacje do debugowania, które pomogą Ci ustalić, dlaczego żądanie nie zostało zrealizowane.

Więcej informacji znajdziesz w sekcji DistanceMatrixStatus.

opcjonalnie ciąg znaków

Ciąg znaków zawierający tekst błędów w postaci zrozumiałej dla człowieka, które wystąpiły podczas przetwarzania żądania.

DistanceMatrixStatus

Kody stanu zwracane przez usługę.

  • OK oznacza, że odpowiedź zawiera prawidłowy wynik.
  • INVALID_REQUEST oznacza, że przesłane żądanie było nieprawidłowe.
  • MAX_ELEMENTS_EXCEEDED oznacza, że iloczyn miejsc pochodzenia i docelowych przekracza limit zapytań.
  • Symbol MAX_DIMENSIONS_EXCEEDED oznacza, że liczba punktów początkowych lub docelowych przekracza limit na zapytanie.
  • Symbol OVER_DAILY_LIMIT oznacza jedną z tych wartości:
    • Brak klucza interfejsu API lub jest on nieprawidłowy.
    • Na Twoim koncie nie włączono płatności.
    • Przekroczono samodzielnie ustalony limit wykorzystania.
    • Podana forma płatności nie jest już ważna (np. karta kredytowa straciła ważność).
  • OVER_QUERY_LIMIT oznacza, że usługa otrzymała z Twojej aplikacji zbyt wiele żądań w dozwolonym okresie.
  • REQUEST_DENIED oznacza, że usługa odmówiła użycia przez Twoją aplikację usługi Distance Matrix.
  • UNKNOWN_ERROR oznacza, że żądanie interfejsu Distance Matrix API nie mogło zostać przetworzone z powodu błędu serwera. Jeśli spróbujesz ponownie, żądanie może się powieść.

DistanceMatrixRow

Pole Wymagane Typ Opis
wymagane Array<DistanceMatrixElement>

Gdy Distance Matrix API zwraca wyniki, umieszcza je w tablicy wierszy JSON. Nawet jeśli nie zostaną zwrócone żadne wyniki (np. gdy nie istnieją źródła lub miejsca docelowe), funkcja zwraca pustą tablicę.

Wiersze są uporządkowane według wartości parametru origin w żądaniu. Każdy wiersz odpowiada źródłu, a każdy element w tym wierszu – parze źródła i wartości docelowej.

Każda tablica wierszy zawiera co najmniej 1 wpis elementu, który z kolei zawiera informacje o pojedynczej parze miejsc docelowych.

Więcej informacji znajdziesz w sekcji DistanceMatrixElement.

DistanceMatrixElement

Pole Wymagane Typ Opis
wymagane DistanceMatrixElementStatus

Stan elementu.

Więcej informacji znajdziesz w sekcji DistanceMatrixElementStatus.

opcjonalnie TextValueObject

Całkowita długość trasy wyrażona w metrach (wartość) i w postaci tekstu. Wartość tekstowa korzysta z układu jednostek określonego za pomocą parametru unit w pierwotnym żądaniu lub regionu pochodzenia.

Więcej informacji znajdziesz w TextValueObject.

opcjonalnie TextValueObject

Czas potrzebny na pokonanie tej trasy, wyrażony w sekundach (pole wartości) i tekstowo. Reprezentacja tekstowa jest lokalizowana zgodnie z parametrem języka zapytania.

Więcej informacji znajdziesz w TextValueObject.

opcjonalnie TextValueObject

Czas potrzebny na pokonanie tej trasy na podstawie aktualnych i historycznych warunków na drodze. W przypadku opcji, których możesz użyć, aby poprosić o zwrócenie wartości optymistycznej, pesymistycznej lub najbardziej prawdopodobnej, zapoznaj się z parametrem żądania traffic_model. Czas trwania jest wyrażony w sekundach (pole wartości) i w postaci tekstu. Reprezentacja tekstowa jest zlokalizowana zgodnie z parametrem języka zapytania. Czas trwania w ruchu jest zwracany tylko wtedy, gdy są spełnione wszystkie te warunki:

  • Żądanie zawiera parametr departure_time.
  • Informacje o warunkach na drodze są dostępne dla wybranej trasy.
  • Parametr mode jest ustawiony na driving.

Więcej informacji znajdziesz w TextValueObject.

opcjonalnie Cena

Jeśli jest dostępna, zawiera całkowitą cenę (czyli całkowity koszt biletu) na tej trasie. Ta właściwość jest zwracana tylko w przypadku zapytań dotyczących transportu publicznego i tylko w przypadku przewoźników, dla których dostępne są informacje o cenach.

Więcej informacji znajdziesz w sekcji Opłata.

Cena

Całkowita cena za trasę.

{
  "currency" : "USD",
  "value" : 6,
  "text" : "$6.00"
}
Pole Wymagane Typ Opis
wymagane ciąg znaków

Kod waluty w formacie ISO 4217 wskazujący walutę, w której wyrażona jest kwota.

wymagane ciąg znaków

Łączna kwota opłaty za przejazd sformatowana w wybranym języku.

wymagane liczba

Łączna kwota opłaty w określonej walucie.

DistanceMatrixElementStatus

  • OK oznacza, że odpowiedź zawiera prawidłowy wynik.
  • Symbol NOT_FOUND oznacza, że nie udało się określić współrzędnych geograficznych źródła lub miejsca docelowego tego połączenia.
  • ZERO_RESULTS oznacza, że nie udało się znaleźć trasy między miejscem początkowym a docelowym.
  • MAX_ROUTE_LENGTH_EXCEEDED oznacza, że żądana trasa jest zbyt długa i nie można jej przetworzyć.

TextValueObject

Obiekt zawierający wartość liczbową i jej sformatowaną reprezentację tekstową.

Pole Wymagane Typ Opis
wymagane ciąg znaków

Wartość ciągu znaków.

wymagane liczba

Wartość liczbowa.