Routes API bir rota hesaplarken, sağladığınız ara noktaları ve yapılandırma parametrelerini giriş olarak alır. Daha sonra API, varsayılan rotayı ve bir veya daha fazla alternatif rota içeren bir yanıt döndürür.
Yanıtınız, istekte bulunduğunuz alanlara bağlı olarak farklı rota türlerini ve diğer verileri içerebilir:
Bunu yanıta eklemek için | Bu belgelere göz atın |
---|---|
Aracın motor türüne göre yakıt veya enerji verimliliği en yüksek rota. | Çevre dostu rotaları yapılandırma |
En fazla üç alternatif rota | Alternatif rotalar isteme |
Bir rotanın tamamı, rotanın her bir ayağı ve her adımı için çoklu çizgi. | Rota çoklu çizgilerini isteme |
Sürücü veya araç için geçerli geçiş ücretleri ya da geçiş ücretleri göz önünde bulundurularak 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 iste |
Gezinme talimatlarını HTML metin dizesi olarak biçimlendirmek için HTML_FORMATTED_NAVIGATION_INSTRUCTIONS öğesini extraComputations öğesine ekleyin. |
Ek Hesaplamalar |
Giriş seçeneklerinin tam listesi için Kullanılabilir rota seçenekleri ve İstek gövdesi'ne göz atın.
Yanıtı kullanarak müşterilerinize, gereksinimlerine uygun yolu seçmeleri 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 çıkarırsanız yöntemler hata döndürür.
Bu belgedeki örnekler, alan maskeleri dikkate alınmadan yanıt nesnesinin tamamını göstermektedir. Bir üretim ortamında, yanıtınız yalnızca alan maskesinde açıkça belirttiğiniz alanları içerir.
Daha fazla bilgi için Döndürülecek bilgileri seçme bölümüne bakın.
Telif haklarını görüntüleme hakkında
Sonuçları kullanıcılarınıza görüntülerken 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, rotayı oluşturan bileşenler hakkında bilgi sahibi olmanız gerekir:
Yanıtınızda aşağıdaki rota bileşenlerinin her biri hakkında bilgi bulunabilir:
Rota: Kalkış noktasındaki ara noktalardan başlayarak hedef ara noktaya kadar yapılan tüm yolculuk. Rotalar bir veya daha fazla bacaktan oluşur.
Ayak: Rotadaki bir referans noktasından rotadaki bir sonraki ara noktaya kadar yol. Her bacak, bir veya daha fazla ayrı adımdan oluşur.
Güzergah, her bir ara noktadan diğerine giden yolun ayrı bir ayağı içerir. Örneğin, rotada tek bir başlangıç noktası ve tek bir hedef ara nokta varsa rota tek bir ayak içerir. API, başlangıç noktası ve hedeften sonra rotaya eklediğiniz her bir ek ara nokta (ara ara nokta olarak adlandırılır) için ayrı bir bacak ekler.
API, geçiş ara noktası için bir ayak eklemez. Örneğin, bir başlangıç noktası ara noktası, bir geçiş ara noktası ve hedef ara nokta içeren bir rota, başlangıç noktasından hedefe giden ve ara noktadan geçen yalnızca bir ayağı içerir. Geçiş ara noktaları hakkında daha fazla bilgi için Geçiş ara noktası tanımlama bölümüne bakın.
Adım: Bir rotanın ayağı boyunca yapılan tek bir talimat. Adım, bir rotanın en atom birimidir. Örneğin, bir adımda "Ana Cadde'den sola dönün" ifadesi gösterilebilir.
Yanıtta neler var?
API yanıtını temsil eden JSON nesnesi aşağıdaki üst düzey özellikleri içerir:
routes
, Route türündeki bir öğe dizisi.routes
dizisi, API'nin döndürdüğü 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
türünde bir öğe dizisidir. GeocodingResults türünde bir öğe dizisi. API, istekte adres dizesi veya Plus kodu olarak belirttiğiniz 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
, FallbackInfo türünde. API tüm giriş özelliklerinden bir rota hesaplayamazsa farklı bir hesaplama yöntemi kullanmaya geçebilir. Yedek modu kullanıldığında bu alan, yedek yanıtı hakkında ayrıntılı bilgiler içerir. Aksi takdirde bu alan ayarlanmaz.
Yanıtın biçimi şu şekildedir:
{ // The routes array. "routes": [ { object (Route) } ], // The place ID lookup results. "geocodingResults": [ { object (GeocodedWaypoint) } ], // The fallback property. "fallbackInfo": { object (FallbackInfo) } }
Rota dizisini çözme
Yanıt, her dizi öğesinin Route türünde 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 bir rota isteğinde bulunursanız dizi, iki öğe içerebilir: varsayılan rota ve çevre dostu rota. Alternatif olarak, yanıta üç adede kadar alternatif rota eklemek için istekte computeAlternativeRoutes
değerini true
olarak ayarlayabilirsiniz.
Dizideki her rota routeLabels
dizi özelliğiyle tanımlanır:
Değer | Açıklama |
---|---|
DEFAULT_ROUTE |
Varsayılan yolu tanımlar. |
FUEL_EFFICIENT |
Çevre dostu rotayı tanımlar. |
DEFAULT_ROUTE_ALTERNATE |
Alternatif bir rota belirtir. |
legs
dizisi, rotanın her ayağının tanımını içerir. distanceMeters
, duration
ve polyline,
gibi geri kalan mülkler bütün olarak rotayla 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 iki etiketi de içerir: DEFAULT_ROUTE
ve FUEL_EFFICIENT
.
{ "routes": [ { "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ], … } ] }
Bacak dizisini anlama
Yanıttaki her route
, her bir legs
dizi öğesinin RouteLeg türünde olduğu bir legs
dizisi içerir.
Dizideki her bacak, rota boyunca bir referans noktasından sonraki ara noktaya kadar olan yolu tanımlar. Bir rota her zaman en az bir ayak içerir.
legs
özelliği, steps
dizisindeki ayak 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 bacak, her steps
dizi öğesinin RouteLegStep türünde olduğu bir steps
dizisi içerir.
Adım, bacak boyunca tek bir talimata karşılık gelir. Bir bacakta her zaman
en az bir adım vardır.
steps
dizisindeki her bir öğ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
içinde, adımla ilgili ek bilgiler bulunabilir. Ö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" }
Bu adımın geri kalan özellikleri, 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 belirtin
API, tercih edilen dili gözlemlerken rota bilgilerini yerel dilde, gerekirse kullanıcı tarafından okunabilecek bir komut dosyasına çevrilmiş şekilde döndürür. Adres bileşenlerinin tümü aynı dilde döndürülür.
Rota dilini desteklenen diller listesinden açık bir şekilde ayarlamak için bir isteğin
languageCode
parametresini kullanın. Google, desteklenen dilleri sıklıkla güncellediğinden bu liste tam olmayabilir.Belirtilen dilde ad bulunmuyorsa API en yakın eşleşmeyi kullanır.
Belirtilen dil, API'nin döndürmeyi seçtiği sonuç grubunu ve sonuçların döndürülme sırasını etkileyebilir. Coğrafi kodlayıcı, sokak türlerinin kısaltmaları veya bir dilde geçerli olup bir başkada geçerli olmayan eş anlamlılar gibi kısaltmaları dile bağlı olarak farklı şekilde yorumlar. Örneğin utca ve tér, Macarcada caddenin eş anlamlılarıdır.
geocodingResults dizisini anlama
API, adres dizesi veya Plus kodu olarak belirtilen istekteki her konum (kaynak, hedef veya ara ara nokta) için karşılık gelen bir yer kimliğine sahip en alakalı konumu bulmaya çalışır. geocodingResults
dizisinin her bir öğesi, bir yer kimliği olarak konumu içeren placeID
alanını ve konum türünü (street_address
, premise
veya airport
gibi) belirten bir type
alanını içerir.
geocodingResults
dizisi üç alan içerir:
origin
: Adres dizesi veya Plus kodu olarak belirtilmişse kaynağın yer kimliğidir. Aksi takdirde bu alan yanıttan çıkarılır.destination
: Adres dizesi veya Plus kodu olarak belirtilmişse hedefin yer kimliğidir. Aksi takdirde bu alan yanıttan çıkarılır.intermediates
: Adres dizesi veya Plus kodu olarak belirtilen herhangi bir ara ara noktanın yer kimliğini içeren dizi. Yer kimliği veya enlem ve boylam koordinatları kullanarak ara nokta belirtirseniz yanıttan çıkarılır. İstekteki hangi ara 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 sistemi (metrik veya İngiliz) için yerelleştirilmiş metin sağlanır. Alan maskesi kullanarak yerelleştirilmiş değerler ister ve dil ile birim sistemini belirtebilir ya da API tarafından tahmin edilen değerleri kullanabilirsiniz. Ayrıntılar için LocalizedValues.
Örneğin, Almanca (de) ve İngiliz ölçü birimleri için dil kodu belirtirseniz distanceMeters
için 49889,7 değerini alırsınız ve ancak bu mesafe ölçümünü Almanca ve İngiliz ölçü birimleriyle sağlayan yerelleştirilmiş metin alırsınız, yani "31 Meile".
Aşağıda, yerelleştirilmiş değerler için görebileceğiniz bir örnek verilmiştir:
{ "localized_values": { "distance": { "text": "31,0 Meile/n" }, "duration": { "text": 38 Minuten}. "static_duration": { "text": 36 Minuten}. } }
Dili veya birim sistemini belirtmezseniz API, dili ve birimleri şu şekilde tahmin eder:
ComputeRoutes
yöntemi, konum ve mesafe birimlerini başlangıç noktası noktasından çıkarır. Bu nedenle, ABD'deki bir yönlendirme isteği için API,en-US
dilini veIMPERIAL
birimlerini çıkarır.ComputeRouteMatrix
yöntemi varsayılan olarak "en-US" dil ve METRIC birimlerine ayarlanır.