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:
Bu bilgileri yanıta eklemek için | Bu dokümanları göster |
---|---|
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ı, bir rotanın her ayağı ve bir ayağın her adımı için poli çizgi. | Rota çoklu çizgileri iste |
Sürücünün veya aracın yararlanabileceği ücret indirimleri ya da geçiş kartları dikkate alınarak tahmini ücretler. | Gişe ücretlerini hesaplama |
Dil kodlarına ve ölçü 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övdesi bölümüne bakın.
Yanıtı kullanarak müşterilerinize, ihtiyaçlarına uygun rotayı seçmek için gerekli bilgileri sağlayabilirsiniz.
Alan maskeleri hakkında
Bir rotayı hesaplamak için bir yöntemi çağırırken, yanıtta döndürülmesini istediğiniz alanları tanımlayan bir alan maskesi belirtmeniz gerekir. Döndürülen alanların varsayılan 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ö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, etaplar 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ızda şu rota bileşenlerinin her biri hakkında bilgi bulunabilir:
Rota: Başlangıç ara noktasından, tüm ara ara noktalardan geçerek hedef ara noktasına kadar olan seyahatin tamamı. Rota, 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.
Rotalar, her bir yol noktasından sonrakine giden yol için ayrı bir ayak içerir. Ö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, rotanın en atomik 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, istekteki her konum (başlangıç, varış veya ara yol noktası) için adres dizesi veya Artı Kodu olarak belirttiğiniz yer kimliği araması yapar. Bu dizinin her bir öğesi, bir konuma karşılık gelen yer kimliğini içerir. Yer kimliği veya enlem/boylam koordinatları olarak belirtilen istekte 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) } }
routes dizisini çözme
Yanıt, her dizi öğesi Route türünde olan routes
dizisini içerir.
Her dizi öğesi, başlangıç noktasından varış noktasına giden rotanın tamamını 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 üç adede kadar alternatif rota eklemek için istekte computeAlternativeRoutes
değerini true
olarak ayarlayın.
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 rota belirtir. |
legs
dizisi, rotanın her bir bölümünün tanımını içerir. distanceMeters
, duration
ve polyline,
gibi kalan özellikler, rotayla ilgili bir bütün olarak bilgiler 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 ile çevre dostu rota aynı olabilir. Bu durumda, routeLabels
dizisi hem DEFAULT_ROUTE
hem de FUEL_EFFICIENT
etiketlerini içerir.
{ "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, rotadaki bir yol noktasından sonraki yol noktasına giden yolu tanımlar. Bir rota her zaman en az bir bacak içerir.
legs
özelliği, steps
dizisindeki koldaki her adımın tanımını içerir. distanceMeters
, duration
ve polyline
gibi diğer özellikler, kol hakkında bilgi içerir.
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "steps": [ { object (RouteLegStep) } ], "travelAdvisory": { object (RouteLegTravelAdvisory) } }
steps 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 bacak her zaman en az bir adım içerir.
steps
dizisindeki her öğe, adım talimatları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 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 bu sonuçları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 bir 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ıta dahil edilmez.destination
: Adres dizesi veya Artı Kodu olarak belirtilmişse hedefin yer kimliği. 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. Bir yer kimliği veya enlem ve boylam koordinatlarını kullanarak bir ara yol noktası belirtirseniz bu nokta yanıttan çıkarılır. İstekte hangi ara yol işaretinin yanıttaki yer kimliğine karşılık geldiğini belirlemek için yanıttakiintermediateWaypointRequestIndex
mülkünü 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. Seyahat süresi, mesafe ve birim sistemi (metrik veya İngiliz) 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 konusuna bakın.
Örneğin, Almanca (de) ve İngiliz birimleri için bir dil kodu belirtirseniz distanceMeters
için 49889,7 değerini alırsınız. Ayrıca, bu mesafe ölçümünü Almanca ve İngiliz birimleri cinsinden sağlayan yerelleştirilmiş metin de alırsınız. Yani "31 Meile".
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, konum ve mesafe birimlerini başlangıç ara 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" dil ve METRIC birimleridir.