Giriş
Bir Distance Matrix API (Eski) isteği şu biçimde olur:
https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters
Burada outputFormat aşağıdaki değerlerden biri olabilir:
json(önerilen), 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 (ör. artı işareti "+") URL olarak kodlanmalı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 karakteri (|) ile 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 olarak kodlar ve mesafeyi hesaplamak için enlem/boylam koordinatına dönüştürür. Bu koordinat, Geocoding API tarafından döndürülen koordinattan farklı olabilir. Örneğin, binanın merkezinden ziyade girişini gösterebilir.
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 hedefe hızlı ya da güvenli bir şekilde ulaşılmasını sağlamayabilir. Adres kullanıldığında binanın girişine değil, binanın merkezine olan mesafe gösterilir.
- 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ı, küresel kod veya bileşik kod olarak biçimlendirilmelidir. Artı kodlarını burada gösterildiği gibi biçimlendirin (artı işaretleri %2B olarak URL'den kaçırılır ve boşluklar %20 olarak URL'den kaçırılı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 konmalıdır. Ö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 tarihinden bu yana geçen 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 uygun şekilde hesaplanabilir. Kısıtlamalar, "avoid" parametresinin kullanılması ve bu parametreye, kaçınılması gereken kısıtlamayı belirten bir bağımsız değişken eklenmesiyle belirtilir. 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 feribot 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 mümkündür. Bunun 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 değiştirir. 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. Herhangi bir saat belirtilmezsedeparture_timevarsayılan olarak şu anki zamana ayarlanır (yani kalkış saati varsayılan olarak geçerli saat olur). -
Seyahat modunun 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_timedeğerini 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 herhangi bir zamanda veya sıklıkta da değişiklik gösterebilir.Not:departure_timebelirtilen Distance Matrix istekleri,mode=drivingistek başına en fazla 100 öğe ile 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ğinden bu liste kapsamlı olmayabilir.
-
languagesağlanmazsa API,Accept-Languagebaşlığında belirtilen tercih edilen dili kullanmaya çalışır. - API, hem kullanıcı hem de yerel halk için okunabilir bir açık adres sağlamak üzere 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 sokak adreslerini 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.
- Ad, tercih edilen dilde mevcut değilse 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ı şekilde 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ısıdır.
-
mod
Mesafeleri ve yol tariflerini hesaplamak için kullanılacak ulaşım şeklini belirleyebilirsiniz. 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ğu yerlerde) kullanarak yaya yol tarifi veya mesafe isteğinde bulunur. -
bicyclingBisiklet yollarını ve tercih edilen sokakları (mevcut olduğunda) kullanarak bisikletle yol tarifi veya mesafe isteğinde bulunma -
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. Herhangi bir saat belirtilmezse,departure_timevarsayılan olarak şu anki zamana ayarlanır (yani kalkış saati varsayılan olarak geçerli zamana ayarlanır). İ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 gösterir. 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
Bölge kodu, ccTLD ("üst düzey alan") olarak belirtilen 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
Trafikte geçirilen 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ılabilir 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 anlık 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 özellikle kötü trafik koşullarının 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 trafik koşullarının özellikle iyi 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 modeli, canlı trafik bilgilerini entegre etme şekli nedeniylebest_guessseyahat süresi tahminininoptimisticsüresinden daha kısa veyapessimisticsüresinden daha uzun olması mümkündür. -
-
transit_mode
Tercih edilen bir veya daha fazla 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|subwayile 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 araçlarıyla gidilen yerler 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ğerler 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ılı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, aynı istek kodlanmış bir çoklu çizgi kullanılarak 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ğıdakilerin tümü 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 ulaşım şeklidir). - İ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ış saati 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. Örneğin, 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.
Hesaplanan 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'
side_of_road:, kodlanmış çoklu çizgilerle birlikte kullanıldığında 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: değiştiricisi yalnızca şu kısıtlama ile kullanılabilir:
- Seyahat
modeparametresidrivingveya belirtilmemiş (driving, varsayılan ulaşım şeklidir).
Hesaplanmış rotaların belirli bir başlığa sahip olması gerektiğini belirtin
Bir konum belirtirken hesaplanan rotanın belirli bir yönde konumdan geçmesini isteyebilirsiniz. Bu başlık, X'in 0 (dahil) ile 360 (hariç) arasında bir tam sayı derece değeri olduğu heading=X: önekiyle belirtilir. 0 değeri kuzeyi, 90 değeri doğuyu 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.
Distance Matrix 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, iki kaynak ve iki hedef olmak üzere dört öğe döndürür:
| 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 | Dizi<dize> |
API tarafından orijinal isteğinizden döndürülen adres dizisi. |
|
required | Dizi<dize> |
API tarafından orijinal isteğinizden döndürülen 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 sayfasına 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 (örneğin, 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 tarafından Mesafe Matrisi hizmetinin kullanımı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 | Dizi<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, bu 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 başlangıç-hedef eşleşmesiyle ilgili bilgileri içerir. Daha fazla bilgi için DistanceMatrixElement sayfasına bakın. |
DistanceMatrixElement
| Alan | Zorunlu | Tür | Açıklama |
|---|---|---|---|
|
required | DistanceMatrixElementStatus |
Öğenin durumu. Daha fazla bilgi için DistanceMatrixElementStatus sayfasına bakın. |
|
isteğe bağlı | TextValueObject |
Bu rotanın toplam mesafesi, metre cinsinden (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 gereken 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ı | Fare |
Varsa bu rotadaki toplam ücreti (yani toplam bilet maliyetlerini) içerir. Bu özellik yalnızca toplu taşıma istekleri için 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 gösteren 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ğının ve/veya hedefinin coğrafi olarak 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 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. |