Routes API bir rotayı hesaplarken giriş olarak sağladığınız yol noktalarını ve yapılandırma parametrelerini alır. Ardından API, varsayılan rotayı ve bir veya daha fazla alternatif rotayı içeren bir yanıt döndürür.
Yanıtınız, istediğiniz alanlara bağlı olarak farklı rota türleri ve diğer veriler içerebilir:
Bunu yanıta eklemek için | Bu dokümanlara bakın |
---|---|
Aracın motor türüne göre yakıt veya enerji açısından en verimli rota. | Çevre dostu rotaları yapılandırma |
En fazla üç alternatif rota | Alternatif rotalar isteme |
Rotanın her ayağı ve bacağın her adımı için tüm rota için çoklu çizgi. | Rota çoklu çizgileri iste |
Sürücü veya araç için sunulan ücret indirimleri ya da geçiş kartları dikkate alınarak hesaplanan tahmini geçiş ücretleri. | Geçiş ücretlerini hesaplama |
Dil kodlarına ve ölçüm birimine (İngiliz veya metrik) göre yerelleştirilmiş yanıtlar. | Yerelleştirilmiş değerler isteme |
Gezinme talimatlarını HTML metin dizesi olarak biçimlendirmek için extraComputations öğesine HTML_FORMATTED_NAVIGATION_INSTRUCTIONS ekleyin. |
Ekstra Hesaplamalar |
Giriş seçeneklerinin tam listesi için Kullanılabilir rota seçenekleri ve İstek gövdesine bakın.
Yanıtı kullanarak müşterilerinize, ihtiyaçlarına uygun rotayı seçmek için gerekli bilgileri sağlayabilirsiniz.
Alan maskeleri hakkında
Rota hesaplamak için bir yöntem çağırdığınızda, yanıtta döndürülmesini istediğiniz alanları tanımlayan bir alan maskesi belirtmeniz gerekir. Döndürülen alanların varsayılan bir listesi yoktur. Bu listeyi atlarsanız yöntemler hata döndürür.
Bu belgedeki örnekler, alan maskeleri dikkate alınmadan yanıt nesnesinin tamamını gösterir. Üretim ortamında yanıtınız yalnızca alan maskesinde açıkça belirttiğiniz alanları içerir.
Daha fazla bilgi için Geri döndürülecek bilgileri seçme başlıklı makaleyi inceleyin.
Telif hakkı bilgilerini gösterme hakkında
Sonuçları kullanıcılarınıza gösterirken aşağıdaki telif hakkı beyanını eklemeniz gerekir:
Powered by Google, ©YEAR Google
Örneğin:
Powered by Google, ©2023 Google
Rotalar, bacaklar ve adımlar hakkında
Routes API'nin döndürdüğü yanıta bakmadan önce bir rotayı oluşturan bileşenleri anlamanız gerekir:
Yanıtınız, aşağıdaki rota bileşenlerinin her biri hakkında bilgi içerebilir:
Rota: Başlangıç ara noktasından herhangi bir ara ara nokta üzerinden varış noktasına kadar olan tüm seyahat. Rotalar bir veya daha fazla ayaktan oluşur.
Adım: Bir rotadaki bir yol noktasından rotadaki sonraki yol noktasına giden yol. Her ayak, bir veya daha fazla ayrı adımdan oluşur.
Rotada her bir ara noktadan diğerine giden yol için ayrı bir ayak bulunur. Örneğin, rota hem tek bir kalkış noktası hem de tek bir hedef ara nokta içeriyorsa rotada tek bir ayak bulunur. API, kalkış ve hedeften sonra rotaya eklediğiniz, ara ara nokta adı verilen her ek ara nokta için ayrı bir bacak ekler.
API, geçiş ara yol noktası için bir etap eklemez. Örneğin, bir kalkış noktası, geçiş ara ara noktası ve hedef ara noktası içeren bir rota, ara noktadan geçerken başlangıç noktasından hedefe giden tek bir ayak içerir. Geçiş noktası hakkında daha fazla bilgi için Geçiş noktası tanımlama başlıklı makaleyi inceleyin.
Adım: Bir rotanın kolu boyunca tek bir talimat. Adım, bir rotanın en temel birimidir. Örneğin, bir adımda "Ana caddede sola dönün" yazabilir.
Yanıtın içeriği
API yanıtını temsil eden JSON nesnesi aşağıdaki üst düzey mülkleri içerir:
routes
, Route türündeki bir öğe dizisidir.routes
dizisi, API tarafından döndürülen her rota için bir öğe içerir. Dizi en fazla beş öğe içerebilir: varsayılan rota, çevre dostu rota ve en fazla üç alternatif rota.geocodingResults
, GeocodingResults türündeki bir öğe dizisidir. API, adres dizesi veya Artı kodu olarak belirttiğiniz istekteki her konum (kaynak, hedef veya ara ara nokta) için bir yer kimliği araması gerçekleştirir. Bu dizinin her bir öğesi, bir konuma karşılık gelen yer kimliğini içerir. İstekte yer kimliği veya enlem/boylam koordinatları olarak belirtilen konumlar dahil edilmez. Tüm konumları yer kimlikleri veya enlem ve boylam koordinatlarını kullanarak belirttiyseniz bu dizi sağlanmaz.FallbackInfo türündeki
fallbackInfo
. API, tüm giriş özelliklerinden bir rota hesaplayamazsa farklı bir hesaplama yöntemi kullanabilir. Yedek modu kullanıldığında bu alan, yedek yanıtı hakkında ayrıntılı bilgiler içerir. Aksi takdirde bu alanın değeri belirlenmez.
Yanıtın biçimi şudur:
{ // The routes array. "routes": [ { object (Route) } ], // The place ID lookup results. "geocodingResults": [ { object (GeocodedWaypoint) } ], // The fallback property. "fallbackInfo": { object (FallbackInfo) } }
Rotalar dizisini çözme
Yanıt, her dizi öğesinin Route türüne sahip olduğu routes
dizisini içerir.
Her dizi öğesi, başlangıç noktasından hedefe kadar tüm rotayı temsil eder. API her zaman varsayılan rota adı verilen en az bir rota döndürür.
Ek rotalar isteyebilirsiniz. Çevre dostu rota isteğinde bulunursanız dizide iki öğe bulunabilir: varsayılan rota ve çevre dostu rota. Alternatif olarak, yanıta en fazla üç alternatif rota eklemek için istekte computeAlternativeRoutes
öğesini true
olarak ayarlayabilirsiniz.
Dizideki her rota, routeLabels
dizi özelliğiyle tanımlanır:
Değer | Açıklama |
---|---|
DEFAULT_ROUTE |
Varsayılan rotayı tanımlar. |
FUEL_EFFICIENT |
Çevre dostu rotayı tanımlar. |
DEFAULT_ROUTE_ALTERNATE |
Alternatif bir rotayı gösterir. |
legs
dizisi, rotanın her ayağının tanımını içerir. distanceMeters
, duration
ve polyline,
gibi diğer mülkler, rotanın tamamıyla ilgili bilgileri içerir:
{ "routeLabels": [ enum (RouteLabel) ], "legs": [ { object (RouteLeg) } ], "distanceMeters": integer, "duration": string, "routeLabels": [string], "staticDuration": string, "polyline": { object (Polyline) }, "description": string, "warnings": [ string ], "viewport": { object (Viewport) }, "travelAdvisory": { object (RouteTravelAdvisory) } "routeToken": string }
Mevcut sürüş koşulları ve diğer faktörler nedeniyle, varsayılan rota ve çevre dostu rota aynı olabilir. Bu durumda, routeLabels
dizisi şu iki etiketi de içerir: DEFAULT_ROUTE
ve FUEL_EFFICIENT
.
{ "routes": [ { "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ], … } ] }
legs dizisini anlama
Yanıtta her route
, bir legs
dizisi içerir. Bu dizinin her bir öğesi RouteLeg türündedir.
Dizideki her ayak, rota üzerindeki bir ara noktadan diğer ara noktaya kadar olan yolu tanımlar. Bir rota her zaman en az bir bacak içerir.
legs
özelliği, steps
dizisindeki bacak boyunca her adımın tanımını içerir. distanceMeters
, duration
ve polyline
gibi geri kalan özellikler, bacakla ilgili bilgiler içerir.
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "steps": [ { object (RouteLegStep) } ], "travelAdvisory": { object (RouteLegTravelAdvisory) } }
Adım dizisini anlama
Yanıttaki her ayak, bir steps
dizisi içerir. Her steps
dizisi öğesi RouteLegStep türündedir.
Bir adım, bacak üzerinde tek bir talimata karşılık gelir. Bir bacakta her zaman
en az bir adım vardır.
steps
dizisindeki her öğe, adım talimatını içeren NavigationInstruction türündeki navigationInstruction
özelliğini içerir. Örneğin:
"navigationInstruction": { "maneuver": "TURN_LEFT", "instructions": "Turn left toward Frontage Rd" }
instructions
, adımla ilgili ek bilgiler içerebilir. Örneğin:
"navigationInstruction": { "maneuver": "TURN_SLIGHT_LEFT", "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days" }
Adımdaki geri kalan özellikler, adımla ilgili distanceMeters
, duration
ve polyline
gibi bilgileri açıklar:
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "navigationInstruction": { object (NavigationInstruction) } }
Adım talimatlarının dilini belirtme
API, rota bilgilerini yerel dilde döndürür. Tercih edilen dile göre, gerekirse kullanıcı tarafından okunabilen bir yazıya transkript olarak dönüştürülür. Adres bileşenlerinin tümü aynı dilde döndürülür.
Desteklenen diller listesinden rota dilini açıkça ayarlamak için bir isteğin
languageCode
parametresini kullanın. Google, desteklenen dilleri sık sık güncellediğinden bu liste tam kapsamlı olmayabilir.Belirtilen dilde bulunmayan bir ad için API en yakın eşleşmeyi kullanır.
Belirtilen dil, API'nin döndürmeyi seçtiği sonuç grubunu ve bunların döndürülme sırasını etkileyebilir. Coğrafi kodlayıcı, kısaltmaları dile göre farklı şekilde yorumlar (ör. sokak türlerinin kısaltmaları veya bir dilde geçerli olup başka bir dilde geçerli olmayan eş anlamlılar). Örneğin, Macarcada utca ve tér, sokak kelimesinin eş anlamlısıdır.
geocodingResults dizisini anlama
API, istekteki adres dizesi veya Artı kodu olarak belirtilen her konum (başlangıç, varış veya ara yol noktası) için ilgili bir yer kimliği olan en alakalı konumu bulmaya çalışır. geocodingResults
dizisinin her öğesi, konumu yer kimliği olarak içeren placeID
alanını ve konum türünü belirten type
alanını (ör. street_address
, premise
veya airport
) içerir.
geocodingResults
dizisi üç alan içerir:
origin
: Adres dizesi veya Plus Code olarak belirtilmişse kaynağın yer kimliği. Aksi takdirde bu alan yanıttan çıkarılır.destination
: Adres dizesi veya Plus code olarak belirtilmişse hedefin yer kimliğidir. Aksi takdirde, bu alan yanıttan çıkarılır.intermediates
: Adres dizesi veya Plus Code olarak belirtilen tüm ara yol işaretlerinin yer kimliğini içeren bir dizi. Yer kimliğini veya enlem ve boylam koordinatlarını kullanarak ara bir ara nokta belirtirseniz bu nokta yanıttan çıkarılır. İstekteki hangi ara noktanın yanıttaki yer kimliğine karşılık geldiğini belirlemek için yanıttaintermediateWaypointRequestIndex
özelliğini kullanın.
"geocodingResults": { "origin": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "destination": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "intermediates": [ { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string }, { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string } ] }
Yerelleştirilmiş yanıt değerlerini anlama
Yerelleştirilmiş yanıt değerleri, döndürülen parametre değerleri için yerelleştirilmiş metin sağlayan ek bir yanıt alanıdır. Yolculuk süresi, mesafe ve birim sistem (metrik veya İngiliz ölçü birimi) için yerelleştirilmiş metin sağlanır. Yerelleştirilmiş değerleri alan maskesi kullanarak ister ve dili ve birim sistemini belirtebilir ya da API tarafından tahmin edilen değerleri kullanabilirsiniz. Ayrıntılar için LocalizedValues bölümüne bakın.
Örneğin, Almanca (de) ve İngiliz ölçü birimleri için bir dil kodu belirtirseniz 49889,7 distanceMeters
için bir değer elde edersiniz.Bununla birlikte, bu mesafe ölçümünü Almanca ve İngiliz ölçü birimlerinde sağlayacak şekilde yerelleştirilmiş metni de (yani "31 Meile") elde edersiniz.
Yerelleştirilmiş değerler için göreceğinize dair bir örnek aşağıda verilmiştir:
{ "localized_values": { "distance": { "text": "31,0 Meile/n" }, "duration": { "text": 38 Minuten}. "static_duration": { "text": 36 Minuten}. } }
Dil veya birim sistemini belirtmezseniz API, dili ve birimleri aşağıdaki şekilde tahmin eder:
ComputeRoutes
yöntemi, konumu ve mesafe birimlerini başlangıç istem noktasından çıkarır. Yani API, ABD'deki bir yönlendirme isteği içinen-US
dilini veIMPERIAL
birimini belirler.ComputeRouteMatrix
yöntemi varsayılan olarak "en-US" dili ve METRIC birimleri kullanır.