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ümanlara bakı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 rota isteğinde bulunma |
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. | Geçiş ü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 HTML_FORMATTED_NAVIGATION_INSTRUCTIONS değerini extraComputations değerine ekleyin. |
Ek 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ö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 listesi yoktur. Bu listeyi atlarsanız yöntemler hata döndürür.
Bu belgedeki örneklerde, alan maskeleri dikkate alınmadan yanıt nesnesinin tamamı gösterilmektedir. Ü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ız, aşağıdaki rota bileşenlerinin her biri hakkında bilgi içerebilir:
Rota: Başlangıç ara noktasından, tüm ara ara noktalardan geçerek hedef ara noktasına kadar olan seyahatin tamamı. 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.
Rotalar, her bir yol noktasından sonrakine giden yol için ayrı bir ayak içerir. Örneğin, rota tek bir başlangıç ve tek bir varış yol noktası içeriyorsa tek bir bacağı vardır. API, başlangıç ve varış noktasından sonra rotaya eklediğiniz her ek yol noktası için (ara yol noktası olarak adlandırılır) ayrı bir ayak ekler.
API, geçiş ara yol noktası için bir etap eklemez. Örneğin, bir başlangıç yol noktası, geçiş yolu olan ara yol noktası ve hedef yol noktası içeren bir rota, yol noktasından geçerken başlangıçtan hedefe giden yalnızca bir kol 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 özellikleri 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. İ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 mod kullanıldığında bu alan, yedek yanıtla ilgili ayrıntılı bilgi 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 öğesinin Route türüne sahip olduğu 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 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 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 rotayı gösterir. |
legs
dizisi, rotanın her bir bölümü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 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.legs
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ıtta her bir yol bölümü bir steps
dizisi içerir. Her steps
dizisi öğesi RouteLegStep türündedir.
Bir adım, bacaktaki 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ımda kalan özellikler, adımla ilgili bilgileri açıklar (ör. distanceMeters
, duration
ve polyline
):
{ "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 bağlı olarak, gerekirse rota bilgileri kullanıcı tarafından okunabilen bir yazıya 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ıttan çıkarılır.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. Bir alan maskesi kullanarak yerelleştirilmiş değerler istersiniz ve dili ve birim sistemini belirtebilir veya 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 gibi tahmin eder:
ComputeRoutes
yöntemi, konumu ve mesafe birimlerini başlangıç istem noktasından çıkarır. Bu nedenle, ABD'deki bir yönlendirme isteği için API,en-US
dilini veIMPERIAL
birimlerini tahmin eder.ComputeRouteMatrix
yöntemi varsayılan olarak "en-US" dili ve METRIC birimleri kullanır.