Mesafe Matrisi API'si isteği ve yanıtı

Avrupa Ekonomik Alanı (AEA) geliştiricileri

Giriş

Distance Matrix API isteği aşağıdaki biçimde olur:

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

Burada outputFormat aşağıdaki değerlerden biri olabilir:

  • json (önerilir), JavaScript Object Notation (JSON) biçiminde çıktı olduğunu gösterir.
  • xml, çıkışın XML olarak gösterileceğini belirtir.

Bazı parametreler zorunlu, bazıları ise isteğe bağlıdır. URL'lerde standart olduğu gibi, tüm parametreler "ve" işareti (&) kullanılarak ayrılır. Tüm ayrılmış karakterler (örneğin, artı işareti "+") URL kodlamalı olmalıdır. Parametrelerin listesi ve olası değerleri aşağıda sıralanmıştır.

Gerekli parametreler

  • hedefler

    Seyahat mesafesini ve süresini hesaplamak için bitiş noktası olarak kullanılacak bir veya daha fazla konum. Hedefler parametresinin seçenekleri, kaynaklar parametresinin seçenekleriyle aynıdır.

  • kökenler

    Seyahat mesafesini ve süresini hesaplamak için başlangıç noktası. Dikey çubuk karakteriyle (|) ayrılmış bir veya daha fazla konumu yer kimliği, adres ya da enlem/boylam koordinatları biçiminde sağlayabilirsiniz:

    • Yer kimliği: Bir yer kimliği sağlarsanız place_id: ön ekini eklemeniz gerekir.
    • Adres: Bir adres iletirseniz hizmet, dizeyi coğrafi kodlar ve mesafeyi hesaplamak için enlem/boylam koordinatına dönüştürür. Bu koordinat, Geocoding API'si tarafından döndürülen koordinattan farklı olabilir. Örneğin, binanın merkezi yerine giriş kapısı döndürülebilir.
      Not: Adres veya enlem/boylam koordinatları yerine yer kimliklerinin kullanılması tercih edilir. Koordinat kullanıldığında nokta her zaman bu koordinatlara en yakın yola sabitlenir. Bu yol, mülke erişim noktası olmayabilir veya hatta hızlı ya da güvenli bir şekilde hedefe götürecek bir yol olmayabilir. Adresi kullandığınızda binanın girişine olan mesafeyi değil, binanın merkezine olan mesafeyi görürsünüz.
    • Koordinatlar: Enlem/boylam koordinatları iletirseniz bu koordinatlar en yakın yola tutturulur. Yer kimliği iletmek tercih edilir. Koordinat iletiyorsanız enlem ve boylam değerleri arasında boşluk olmadığından emin olun.
    • Plus kodları, genel kod veya bileşik kod olarak biçimlendirilmelidir. Artı kodları burada gösterildiği gibi biçimlendirin (artı işaretleri %2B olarak URL'den kaçışlı, boşluklar ise %20 olarak URL'den kaçışlıdır):
      • global_code, 4 karakterlik bir alan kodu ve 6 karakterlik veya daha uzun bir yerel koddur (849VCWC8+R9, 849VCWC8%2BR9 olarak kodlanır).
      • Bileşik kod, açık bir konuma sahip 6 karakterli veya daha uzun bir yerel koddur (CWC8+R9 Mountain View, CA, USA, CWC8%2BR9%20Mountain%20View%20CA%20USA olarak kodlanır).
    • Kodlanmış Çoklu Çizgi Alternatif olarak, Kodlanmış Çoklu Çizgi Algoritması'nı kullanarak kodlanmış bir koordinat grubu da sağlayabilirsiniz. Bu, özellikle çok sayıda başlangıç noktası varsa yararlıdır. Çünkü kodlanmış bir çoklu çizgi kullanıldığında URL önemli ölçüde kısalır.
      • Kodlanmış çoklu çizgilerin önüne enc: eklenmeli ve ardından iki nokta üst üste : işareti gelmelidir. Örneğin: origins=enc:gfo}EtohhU:
      • Ayrıca, düşey çubuk karakteri | ile ayrılmış birden fazla kodlanmış çoklu çizgi de ekleyebilirsiniz. Örneğin:
        origins=enc:wc~oAwquwMdlTxiKtqLyiK:|enc:c~vnAamswMvlTor@tjGi}L:|enc:udymA{~bxM:
        

İsteğe bağlı parametreler

  • arrival_time

    Toplu taşıma yol tarifleri için tercih edilen varış zamanını, 1 Ocak 1970 UTC gece yarısından itibaren saniye cinsinden belirtir. departure_time veya arrival_time değerini belirtebilirsiniz ancak ikisini birden belirtemezsiniz. arrival_time değerinin tam sayı olarak belirtilmesi gerektiğini unutmayın.

  • kaçınmak

    Mesafeler, belirli kısıtlamalara uyacak şekilde hesaplanabilir. Kısıtlamalar, "avoid" parametresinin kullanımı ve bu parametreye, kaçınılması gereken kısıtlamayı belirten bir bağımsız değişkenle gösterilir. Aşağıdaki kısıtlamalar desteklenir:

    • tolls, hesaplanan rotada ücretli yolların/köprülerin kullanılmaması gerektiğini gösterir.
    • highways, hesaplanan rotada otoyolların kullanılmaması gerektiğini gösterir.
    • ferries, hesaplanan rotada feribotların kullanılmaması gerektiğini gösterir.
    • indoor, hesaplanan rotada yürüme ve toplu taşıma yol tarifleri için kapalı alandaki adımlardan kaçınılması gerektiğini gösterir.

    Ücretli geçişler, otoyollar ve feribotların herhangi bir kombinasyonundan kaçınan bir rota isteğinde bulunmak için her iki kısıtlamayı da avoid parametresine iletmeniz gerekir. Örneğin avoid=tolls|highways|ferries.

    Not: Kısıtlamaların eklenmesi, kısıtlanmış özelliği içeren rotaları engellemez. Sonuç, daha uygun rotalara yönlendirilir.
  • departure_time

    Tercih edilen kalkış zamanını belirtir. Zamanı, 1 Ocak 1970 UTC tarihinden bu yana geçen saniye sayısı olarak belirtebilirsiniz. 9999-12-31T23:59:59.999999999Z tarihinden sonraki bir departure_time belirtilirse API, departure_time değerini 9999-12-31T23:59:59.999999999Z olarak geri alır. Alternatif olarak, kalkış saatini geçerli saate (en yakın saniyeye kadar doğru) ayarlayan "now" değerini belirtebilirsiniz. Kalkış saati iki durumda belirtilebilir:

    • Seyahat modunun toplu taşıma olduğu istekler için: İsteğe bağlı olarak departure_time veya arrival_time değerlerinden birini belirtebilirsiniz. Her iki saat de belirtilmezse departure_time varsayılan olarak şu anki zamana ayarlanır (yani kalkış saati varsayılan olarak geçerli saat olur).
    • Ulaşım şeklinin araba olduğu istekler için: Trafik koşullarını dikkate alan bir rota ve yolculuk süresi (yanıt alanı: duration_in_traffic) almak üzere departure_time belirtebilirsiniz. departure_time, geçerli zamana veya gelecekteki bir zamana ayarlanmalıdır. Geçmişte olamaz.
    Not: Kalkış saati belirtilmemişse rota ve süre seçimi, yol ağına ve ortalama zamandan bağımsız trafik koşullarına göre yapılır. Belirli bir isteğin sonuçları, yol ağındaki değişiklikler, güncellenen ortalama trafik koşulları ve hizmetin dağıtılmış yapısı nedeniyle zaman içinde değişebilir. Sonuçlar, neredeyse eşdeğer rotalar arasında da herhangi bir zamanda veya sıklıkta değişiklik gösterebilir.
    Not: departure_time belirtilen Distance Matrix istekleri, mode=driving olduğunda istek başına en fazla 100 öğeyle sınırlıdır. Kaynak sayısı ile hedef sayısının çarpımı, öğe sayısını tanımlar.
  • language

    Sonuçların döndürüleceği dil.

    • Desteklenen dillerin listesini inceleyin. Google, desteklenen dilleri sık sık güncellediği için bu liste kapsamlı olmayabilir.
    • language sağlanmazsa API, Accept-Language üstbilgisinde belirtilen tercih edilen dili kullanmaya çalışır.
    • API, hem kullanıcı hem de yerel halk tarafından okunabilir bir açık adres sağlamak için elinden geleni yapar. Bu hedefi gerçekleştirmek için tercih edilen dili dikkate alarak gerekirse kullanıcının okuyabileceği bir alfabeye çevrilmiş, yerel dildeki açık adresleri döndürür. Diğer tüm adresler tercih edilen dilde döndürülür. Adres bileşenlerinin tümü aynı dilde döndürülür. Bu dil, ilk bileşenden seçilir.
    • Bir ad tercih edilen dilde kullanılamıyorsa API en yakın eşleşmeyi kullanır.
    • Tercih edilen dil, API'nin döndürmeyi seçtiği sonuç kümesi ve bu sonuçların döndürülme sırası üzerinde küçük bir etkiye sahiptir. Coğrafi kodlayıcı, kısaltmaları dile bağlı olarak farklı yorumlar. Örneğin, sokak türlerinin kısaltmaları veya bir dilde geçerli olup başka bir dilde geçerli olmayan eş anlamlılar. Örneğin, Macarca'da utca ve tér, sokak kelimesinin eş anlamlılarıdır.
  • mod

    Mesafeleri ve yol tariflerini hesaplamak için kullanılacak ulaşım modunu belirtebilirsiniz. Varsayılan olarak DRIVING modu kullanılır. Varsayılan olarak, yol tarifleri araba yol tarifi olarak hesaplanır. Aşağıdaki seyahat modları desteklenir:

    • driving (varsayılan), yol ağını kullanarak standart arabayla yol tariflerini veya mesafeyi gösterir.
    • walking Yaya yollarını ve kaldırımları (mevcut olduğunda) kullanarak yaya yol tarifi veya mesafe bilgisi ister.
    • bicycling Bisiklet yolları ve tercih edilen sokakları (mevcut olduğunda) kullanarak bisikletle yol tarifi veya mesafe bilgisi ister.
    • transit Toplu taşıma rotalarını kullanarak yol tarifi veya mesafe isteğinde bulunma (kullanılabildiği yerlerde) Modu toplu taşıma olarak ayarlarsanız isteğe bağlı olarak departure_time veya arrival_time belirtebilirsiniz. Her iki saat de belirtilmezse departure_time varsayılan olarak şu anki zamana ayarlanır (yani kalkış saati varsayılan olarak geçerli saat olur). İsteğe bağlı olarak transit_mode ve/veya transit_routing_preference da ekleyebilirsiniz.
    Not: Hem yaya hem de bisiklet yol tarifleri bazen net yaya veya bisiklet yollarını içermeyebilir. Bu nedenle, bu yol tarifleri döndürülen sonuçta uyarılar döndürür. Bu uyarıları kullanıcıya göstermeniz gerekir.
    Not: Toplu taşıma yolculukları, veri sağlayıcılar tarafından sağlanan toplu taşıma bilgilerinin kullanılabilirliğine bağlı olarak geçmişte en fazla 7 gün veya gelecekte en fazla 100 gün için kullanılabilir. Toplu taşıma programları sık sık değişir, mevcut toplu taşıma yolculukları zaman içinde değişebilir ve çok önceden yapılan tahminler için tutarlı sonuçlar sağlanacağı garanti edilmez.
  • bölge

    ccTLD ("üst düzey alan") olarak belirtilen bölge kodu, iki karakterli bir değerdir. Çoğu ccTLD kodu, ISO 3166-1 kodlarıyla aynıdır. Ancak bazı önemli istisnalar vardır. Örneğin, Birleşik Krallık'ın ccTLD'si "uk" (.co.uk), ISO 3166-1 kodu ise "gb"dir (teknik olarak "Büyük Britanya ve Kuzey İrlanda Birleşik Krallığı" tüzel kişiliği için).

  • traffic_model

    Trafikteki süreyi hesaplarken kullanılacak varsayımları belirtir. Bu ayar, yanıttaki duration_in_traffic alanında döndürülen değeri etkiler. Bu alan, geçmiş ortalamalara dayalı olarak trafikteki tahmini süreyi içerir. traffic_model parametresi yalnızca istekte departure_time bulunan arabayla yol tarifleri için belirtilebilir. Bu parametre için kullanılabilen değerler şunlardır:

    • best_guess (varsayılan), döndürülen duration_in_traffic değerinin, hem geçmiş trafik koşulları hem de canlı trafik hakkında bilinenler göz önüne alındığında seyahat süresinin en iyi tahmini olması gerektiğini gösterir. Canlı trafik, departure_time şu ana ne kadar yakınsa o kadar önemli hale gelir.
    • pessimistic, döndürülen duration_in_traffic değerinin çoğu günde gerçek seyahat süresinden daha uzun olması gerektiğini gösterir. Ancak trafik koşullarının özellikle kötü olduğu bazı günlerde bu değer aşılabilir.
    • optimistic, döndürülen duration_in_traffic değerinin çoğu günde gerçek seyahat süresinden daha kısa olması gerektiğini gösterir. Ancak, özellikle iyi trafik koşullarının olduğu bazı günlerde bu değerden daha hızlı olabilir.

    best_guess için varsayılan değer, kullanım alanlarının büyük çoğunluğu için en yararlı tahminleri sağlar. best_guess tahmin modelinin canlı trafik bilgilerini entegre etme şekli nedeniyle best_guess seyahat süresi tahmini, optimistic süresinden kısa veya pessimistic süresinden uzun olabilir.

  • transit_mode

    Bir veya daha fazla tercih edilen toplu taşıma modu belirtir. Bu parametre yalnızca toplu taşıma yol tarifleri için belirtilebilir. Parametre aşağıdaki bağımsız değişkenleri destekler:

    • bus, hesaplanan rotada otobüsle seyahatin tercih edilmesi gerektiğini gösterir.
    • subway, hesaplanan rotada metroyla seyahatin tercih edilmesi gerektiğini gösterir.
    • train, hesaplanan rotada trenle seyahatin tercih edilmesi gerektiğini gösterir.
    • tram, hesaplanan rotada tramvay ve hafif raylı sistemle seyahatin tercih edilmesi gerektiğini gösterir.
    • rail, hesaplanan rotada tren, tramvay, hafif raylı sistem ve metro ile seyahatin tercih edilmesi gerektiğini gösterir. Bu, transit_mode=train|tram|subway etiketine eş değerdir.
  • transit_routing_preference

    Toplu taşıma rotalarıyla ilgili tercihleri belirtir. Bu parametreyi kullanarak, API'nin seçtiği varsayılan en iyi rotayı kabul etmek yerine döndürülen seçenekleri tercih edebilirsiniz. Bu parametre yalnızca toplu taşıma rotaları için belirtilebilir. Parametre aşağıdaki bağımsız değişkenleri destekler:

    • less_walking, hesaplanan rotada sınırlı miktarda yürüyüş tercih edilmesi gerektiğini gösterir.
    • fewer_transfers, hesaplanan rotada sınırlı sayıda aktarma tercih edilmesi gerektiğini gösterir.
  • birim

    Sonuçları görüntülerken kullanılacak birim sistemini belirtir.

    Not: Bu birim sistemi ayarı yalnızca mesafe alanlarında gösterilen metni etkiler. Mesafe alanları, her zaman metre cinsinden ifade edilen değerleri de içerir.

İstek örnekleri

Bu örnekte, hedef koordinatları belirtmek için enlem/boylam koordinatları kullanılmaktadır:

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'

Bu örnekte, hedef koordinatları belirtmek için artı kodlar kullanılmaktadır:

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'

Bu örnekte, kodlanmış bir çoklu çizgi kullanılarak aynı istek gösterilmektedir:

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'

Trafik bilgileri

Trafik bilgileri, aşağıdaki tüm koşullar geçerli olduğunda kullanılır (bunlar, Distance Matrix yanıtında duration_in_traffic alanını almak için gereken koşullardır):

  • Seyahat mode parametresi driving veya belirtilmemiş (driving, varsayılan seyahat modudur).
  • İstek geçerli bir departure_time parametresi içeriyor. departure_time, şu anki saate veya gelecekteki bir saate ayarlanabilir. Geçmişte olamaz.

İsteğe bağlı olarak, trafikteki süreyi hesaplarken kullanılacak varsayımları belirtmek için isteğinize traffic_model parametresini ekleyebilirsiniz.

Aşağıdaki URL, Boston, MA veya Charlestown, MA ile Lexington, MA ve Concord, MA arasındaki sürüş mesafeleri için bir Mesafe Matrisi isteği başlatır. İstek, Distance Matrix yanıtında duration_in_traffic alanını döndürmek için gereken tüm koşulları karşılayan bir kalkış zamanı içeriyor.

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
   
  
 

Konum değiştiriciler

.

Sürücülerin belirli bir konuma nasıl yaklaşması gerektiğini belirtmek için konum değiştiriciler kullanabilirsiniz. Yolun hangi tarafının kullanılacağını belirtmek için side_of_road değiştiricisini kullanabilir veya doğru seyahat yönünü belirtmek için bir başlık belirtebilirsiniz.

Hesaplanmış rotaların yolun belirli bir tarafından geçmesi gerektiğini belirtme

Bir konum belirtirken side_of_road: önekini kullanarak hesaplanan rotanın, ara noktanın eğilimli olduğu yol tarafına gitmesini isteyebilirsiniz. Örneğin, bu istek, aracın yolun, ara noktanın yönlendirildiği tarafında durması için uzun bir rotanın mesafesini döndürür:

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'

Kodlanmış çoklu çizgilerle side_of_road: kullanılırken değiştirici, çoklu çizgi üzerindeki her konuma uygulanır. Örneğin, bu istekteki iki hedef de parametreyi kullanır:

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'

side_of_road: düzenleyicisi yalnızca şu kısıtlamayla kullanılabilir:

  • Seyahat mode parametresi driving veya belirtilmemiş (driving, varsayılan seyahat modudur).

Hesaplanmış rotaların belirli bir başlığa sahip olması gerektiğini belirtme

Bir konum belirtirken, hesaplanan rotanın belirli bir başlıkta yer alan konumdan geçmesini isteyebilirsiniz. Bu başlık, heading=X: önekiyle belirtilir. Burada X, 0 (dahil) ile 360 (hariç) arasında bir tam sayı derece değeridir. 0 değeri Kuzey, 90 değeri Doğu yönünü gösterir ve saat yönünde devam eder. Örneğin, bu istekte hesaplanan rota, başlangıç noktasından doğuya doğru gidip U dönüşü yapıyor:

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'

heading=X: değiştiricisi yalnızca şu kısıtlamalarla kullanılabilir:

  • Seyahat mode parametresi driving, bicycling veya belirtilmemiş (driving varsayılan seyahat modudur).
  • side_of_road değiştiricisi aynı konum için belirtilmemiş.
  • Konum, enlem/boylam değeriyle belirtilir. Adresler, yer kimlikleri veya kodlanmış çoklu çizgilerle heading kullanamazsınız.

Mesafe Matrisi isteği ve yanıtları

Aşağıda, Kanada'nın Vancouver, BC şehrinden ve ABD'nin Seattle, WA şehrinden ABD'nin San Francisco, CA şehrine ve Kanada'nın Victoria, BC şehrine olan mesafeyi ve süreyi isteyen örnek bir HTTP isteği gösterilmektedir.

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'

Bu istek dört öğe döndürür: iki kaynak ve iki hedef.

Vancouver - San Francisco Vancouver - Victoria
Seattle - San Francisco Seattle - Victoria

Sonuçlar satırlar halinde döndürülür. Her satırda, her hedefle eşleştirilmiş bir kaynak bulunur.

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

Alan Zorunlu Tür Açıklama
required Array<string>

API tarafından orijinal isteğinizden döndürülen bir adres dizisi. origin_addresses ile olduğu gibi, bunlar da uygunsa yerelleştirilir. Bu içerik olduğu gibi okunmalıdır. Biçimlendirilmiş adresleri programatik olarak ayrıştırmayın.

required Array<string>

API tarafından orijinal isteğinizden döndürülen bir adres dizisi. Bunlar, coğrafi kodlayıcı tarafından biçimlendirilir ve istekle birlikte iletilen dil parametresine göre yerelleştirilir. Bu içerik olduğu gibi okunmalıdır. Biçimlendirilmiş adresleri programatik olarak ayrıştırmayın.

required Array<DistanceMatrixRow>

Her biri status, duration ve distance öğelerini içeren bir öğe dizisi.

Daha fazla bilgi için DistanceMatrixRow konusuna bakın.

required DistanceMatrixStatus

İsteğin durumunu içerir ve isteğin neden başarısız olduğunu bulmanıza yardımcı olacak hata ayıklama bilgileri içerebilir.

Daha fazla bilgi için DistanceMatrixStatus sayfasına bakın.

isteğe bağlı dize

İstek işlenirken karşılaşılan hataların okunabilir metnini içeren bir dize.

DistanceMatrixStatus

Hizmet tarafından döndürülen durum kodları.

  • OK, yanıtın geçerli bir sonuç içerdiğini gösterir.
  • INVALID_REQUEST, sağlanan isteğin geçersiz olduğunu gösterir.
  • MAX_ELEMENTS_EXCEEDED, kaynak ve hedef ürünlerinin sorgu başına sınırı aştığını gösterir.
  • MAX_DIMENSIONS_EXCEEDED, kaynak veya hedef sayısının sorgu başına sınırı aştığını gösterir.
  • OVER_DAILY_LIMIT, aşağıdakilerden herhangi birini gösterir:
    • API anahtarı eksik veya geçersiz.
    • Hesabınızda faturalandırma etkinleştirilmemiştir.
    • Kullanıcı tarafından belirlenen kullanım sınırı aşıldı.
    • Belirtilen ödeme yöntemi artık geçerli değil (ör. kredi kartının süresi dolmuş).
  • OVER_QUERY_LIMIT, hizmetin izin verilen süre içinde uygulamanızdan çok fazla istek aldığını gösterir.
  • REQUEST_DENIED, hizmetin, uygulamanızın Mesafe Matrisi hizmetini kullanmasını reddettiğini gösterir.
  • UNKNOWN_ERROR, bir mesafe matrisi isteğinin sunucu hatası nedeniyle işlenemediğini gösterir. Tekrar denerseniz istek başarılı olabilir.

DistanceMatrixRow

Alan Zorunlu Tür Açıklama
required Array<DistanceMatrixElement>

Distance Matrix API sonuç döndürdüğünde bunları bir JSON satır dizisine yerleştirir. Sonuç döndürülmese bile (ör. kaynaklar ve/veya hedefler mevcut olmadığında) boş bir dizi döndürür.

Satırlar, isteğin kaynak parametresindeki değerlere göre sıralanır. Her satır bir kaynağa, satırdaki her öğe ise kaynağın bir hedef değeriyle eşleşmesine karşılık gelir.

Her satır dizisi, bir veya daha fazla öğe girişi içerir. Bu girişler de tek bir kaynak-hedef eşleşmesiyle ilgili bilgileri içerir.

Daha fazla bilgi için DistanceMatrixElement konusuna bakın.

DistanceMatrixElement

Alan Zorunlu Tür Açıklama
required DistanceMatrixElementStatus

Öğenin durumu.

Daha fazla bilgi için DistanceMatrixElementStatus bölümüne bakın.

isteğe bağlı TextValueObject

Bu rotanın toplam mesafesi, metre (değer) ve metin olarak ifade edilir. Metin değeri, orijinal isteğin birim parametresiyle veya kaynağın bölgesiyle belirtilen birim sistemini kullanır.

Daha fazla bilgi için TextValueObject bölümüne bakın.

isteğe bağlı TextValueObject

Bu rotada seyahat etmek için geçen süre, saniye (değer alanı) ve metin olarak ifade edilir. Metin gösterimi, sorgunun dil parametresine göre yerelleştirilir.

Daha fazla bilgi için TextValueObject bölümüne bakın.

isteğe bağlı TextValueObject

Mevcut ve geçmiş trafik koşullarına göre bu rotada seyahat etmenin ne kadar süreceği. Döndürülen değerin iyimser, kötümser veya en iyi tahmin tahmini olmasını istemek için kullanabileceğiniz seçenekler hakkında bilgi edinmek üzere traffic_model istek parametresine bakın. Süre, saniye cinsinden (değer alanı) ve metin olarak ifade edilir. Metin gösterimi, sorgunun dil parametresine göre yerelleştirilir. Trafikteki süre yalnızca aşağıdaki koşulların tümü geçerliyse döndürülür:

  • İstek, departure_time parametresini içeriyor.
  • İstenen rota için trafik koşulları bilgisi mevcut.
  • Mod parametresi sürüş olarak ayarlanır.

Daha fazla bilgi için TextValueObject bölümüne bakın.

isteğe bağlı Ücret

Varsa bu rotadaki toplam ücreti (yani toplam bilet maliyetlerini) içerir. Bu özellik yalnızca toplu taşıma istekleri ve yalnızca ücret bilgilerinin mevcut olduğu toplu taşıma sağlayıcıları için döndürülür.

Daha fazla bilgi için Fare başlıklı makaleyi inceleyin.

Ücret

Rotanın toplam ücreti.

{
  "currency" : "USD",
  "value" : 6,
  "text" : "$6.00"
}
Alan Zorunlu Tür Açıklama
required dize

Tutarın ifade edildiği para birimini belirten bir ISO 4217 para birimi kodu.

required dize

İstenen dilde biçimlendirilmiş toplam ücret tutarı.

required sayı

Belirtilen para biriminde toplam ücret tutarı.

DistanceMatrixElementStatus

  • OK, yanıtın geçerli bir sonuç içerdiğini gösterir.
  • NOT_FOUND, bu eşlemenin kaynağı ve/veya hedefinin coğrafi kodlanamadığını gösterir.
  • ZERO_RESULTS, başlangıç ve varış noktası arasında rota bulunamadığını gösterir.
  • MAX_ROUTE_LENGTH_EXCEEDED, istenen rotanın çok uzun olduğunu ve işlenemediğini gösterir.

TextValueObject

Sayısal bir değer ve bunun biçimlendirilmiş metin gösterimini içeren bir nesne.

Alan Zorunlu Tür Açıklama
required dize

Dize değeri.

required sayı

Sayısal değer.