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%2BR9olarak 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%20USAolarak kodlanır).
-
global_code, 4 karakterlik bir alan kodu ve 6 karakterlik veya daha uzun bir yerel koddur (
-
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:
-
Kodlanmış çoklu çizgilerin önüne
-
Yer kimliği: Bir yer kimliği sağlarsanız
İ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_timeveyaarrival_timedeğerini belirtebilirsiniz ancak ikisini birden belirtemezsiniz.arrival_timedeğ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_timebelirtilirse API,departure_timedeğ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_timeveyaarrival_timedeğerlerinden birini belirtebilirsiniz. Her iki saat de belirtilmezsedeparture_timevarsayı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_timebelirtebilirsiniz.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_timebelirtilen Distance Matrix istekleri,mode=drivingolduğ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. -
Seyahat modunun toplu taşıma olduğu istekler için: İsteğe bağlı olarak
-
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.
-
languagesağ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
DRIVINGmodu 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. -
walkingYaya yollarını ve kaldırımları (mevcut olduğunda) kullanarak yaya yol tarifi veya mesafe bilgisi ister. -
bicyclingBisiklet yolları ve tercih edilen sokakları (mevcut olduğunda) kullanarak bisikletle yol tarifi veya mesafe bilgisi ister. -
transitToplu 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ı olarakdeparture_timeveyaarrival_timebelirtebilirsiniz. Her iki saat de belirtilmezsedeparture_timevarsayılan olarak şu anki zamana ayarlanır (yani kalkış saati varsayılan olarak geçerli saat olur). İsteğe bağlı olaraktransit_modeve/veyatransit_routing_preferenceda 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_modelparametresi yalnızca istektedeparture_timebulunan 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_guessiçin varsayılan değer, kullanım alanlarının büyük çoğunluğu için en yararlı tahminleri sağlar.best_guesstahmin modelinin canlı trafik bilgilerini entegre etme şekli nedeniylebest_guessseyahat süresi tahmini,optimisticsüresinden kısa veyapessimisticsü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|subwayetiketine 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
modeparametresidrivingveya belirtilmemiş (driving, varsayılan seyahat modudur). - İstek geçerli bir
departure_timeparametresi 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
modeparametresidrivingveya 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
modeparametresidriving,bicyclingveya belirtilmemiş (drivingvarsayılan seyahat modudur). side_of_roaddeğiştiricisi aynı konum için belirtilmemiş.- Konum, enlem/boylam değeriyle belirtilir. Adresler, yer kimlikleri veya kodlanmış çoklu çizgilerle
headingkullanamazsı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 1 712 km OK 24567 6 heures 49 minutes 139695 140 km |
OK 266680 3 jours 2 heures 1451704 1 452 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. |
|
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 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
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. |