Routes API bir rota hesaplarken giriş olarak sağladığınız yol noktalarını ve yapılandırma parametrelerini kullanır. 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 verileri içerebilir:
Bunu yanıta dahil etmek için | Bu belgelere 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 rotalar isteyin |
Bir rotanın tamamı, rotanın her bir ayağı ve ayağın her bir adımı için çoklu çizgi. | Rota çoklu çizgilerini iste |
Sürücü veya araç için geçerli olan geçiş ücreti indirimleri ya da geçiş kartları dikkate alınarak hesaplanan tahmini geçiş ücretleri. | Otoyol ücretlerini hesaplama |
Dil kodlarına ve ölçü birimine (İngiliz veya metrik) göre yerelleştirilmiş yanıtlar. | Yerelleştirilmiş değerler isteyin |
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 bölümlerine bakın.
Yanıtı kullanarak müşterilerinize ihtiyaçlarına uygun rotayı seçmeleri için gerekli bilgileri sağlayabilirsiniz.
Alan maskeleri hakkında
Bir rotayı hesaplamak için bir yöntemi çağırdığınızda, yanıtta hangi alanların döndürülmesini istediğinizi tanımlayan bir alan maskesi belirtmeniz gerekir. Döndürülen alanların varsayılan bir listesi yoktur. Bu liste atlanırsa 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 Hangi bilgilerin döndürüleceğini seçme başlıklı makaleyi inceleyin.
Telif haklarını 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, rotayı oluşturan bileşenler hakkında bilgi sahibi olmanız gerekir:
Yanıtınızda bu rota bileşenlerinin her biriyle ilgili bilgiler yer alabilir:
Rota: Başlangıç ara noktasından, tüm ara noktalardan geçerek varış noktası ara noktasına kadar olan yolculuğun tamamı. Rota, bir veya daha fazla etaptan oluşur.
Etap: Bir rotadaki bir ara noktadan rotadaki bir sonraki ara noktaya giden yol. Her bir bacak, bir veya daha fazla ayrı adımdan oluşur.
Bir rota, her bir ara noktadan bir sonrakine giden yol için ayrı bir bölüm içerir. Örneğin, rotada tek bir başlangıç ve tek bir varış noktası varsa rota tek bir etaptan oluşur. Başlangıç ve hedef noktadan sonra rotaya eklediğiniz her bir ek ara nokta için (ara ara nokta olarak adlandırılır) API ayrı bir etap ekler.
API, geçiş ara yol noktası için bir etap eklemez. Örneğin, başlangıç ara noktası, geçiş ara noktası ve hedef ara noktası içeren bir rota, ara noktadan geçerek başlangıç noktasından hedef noktasına giden tek bir etaptan oluşur. Geçiş rotaları hakkında daha fazla bilgi için Geçiş rotası tanımlama başlıklı makaleyi inceleyin.
Adım: Bir rotanın bir bölümündeki tek bir talimat. Adım, bir rotanın en küçük birimidir. Örneğin, bir adımda "Ana Cadde'ye sola dönün" ifadesi yer alabilir.
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ünde bir öğe dizisi.routes
dizisi, API tarafından döndürülen her rota için bir öğe içerir. Dizide en fazla beş öğe bulunabilir: varsayılan rota, çevre dostu rota ve en fazla üç alternatif rota.geocodingResults
, GeocodingResults türündeki öğeler dizisi. İstek içinde adres dizesi veya Plus Code olarak belirttiğiniz her konum (başlangıç, hedef veya ara nokta) için API, yer kimliği araması yapar. Bu dizinin her öğ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 kimliklerini veya enlem ve boylam koordinatlarını kullanarak belirttiyseniz bu dizi sağlanmaz.fallbackInfo
, türü FallbackInfo. API, giriş özelliklerinin tümünden bir rota hesaplayamıyorsa farklı bir hesaplama yöntemi kullanabilir. Yedek mod kullanıldığında bu alan, yedek yanıtla ilgili ayrıntılı bilgileri içerir. Aksi takdirde bu alanın değeri belirlenmez.
Yanıt şu biçimdedir:
{ // The routes array. "routes": [ { object (Route) } ], // The place ID lookup results. "geocodingResults": [ { object (GeocodedWaypoint) } ], // The fallback property. "fallbackInfo": { object (FallbackInfo) } }
Rotalar dizisini çözme
Yanıtta, her dizi öğesinin türü routes
olan dizi bulunur.
Route.
Dizideki her öğe, başlangıç noktasından varış noktasına kadar olan rotanın tamamını temsil eder. API her zaman en az bir rota (varsayılan rota) döndürür.
Ek rota isteğinde bulunabilirsiniz. Çevre dostu rota isteğinde bulunursanız dizi iki öğe içerebilir: varsayılan rota ve çevre dostu rota. Alternatif olarak, yanıta en fazla üç 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 ayağının tanımını içerir. distanceMeters
, duration
ve polyline,
gibi kalan özellikler, rotanın tamamı hakkında bilgi 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ıtın her route
öğesi bir legs
dizisi içerir. Bu dizideki her legs
öğesi RouteLeg türündedir.
Dizideki her bölüm, rotadaki bir ara noktadan bir sonraki ara noktaya giden yolu tanımlar. Bir rota her zaman en az bir bölüm içerir.
legs
özelliği, steps
dizisindeki her bir ayağın tanımını içerir. distanceMeters
, duration
ve polyline
gibi kalan özellikler, ayakla ilgili bilgileri içerir.
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "steps": [ { object (RouteLegStep) } ], "travelAdvisory": { object (RouteLegTravelAdvisory) } }
Adımlar dizisini anlama
Yanıtın her ayağında bir steps
dizisi bulunur. Bu dizideki her öğe RouteLegStep türündedir.steps
Bir adım, bacak boyunca tek bir talimata karşılık gelir. Bir ayak her zaman en az bir adım içerir.
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ım hakkında 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 diğer özellikler, adım hakkındaki bilgileri (ör. distanceMeters
, duration
ve polyline
) 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, tercih edilen dili dikkate alarak rota bilgilerini yerel dilde döndürür. Gerekirse bu bilgiler, kullanıcı tarafından okunabilir bir alfabeye çevrilir. Adres bileşenlerinin tümü aynı dilde döndürülür.
Desteklenen diller listesinden rota dilini açıkça ayarlamak için istekin
languageCode
parametresini kullanın. Google, desteklenen dilleri sık sık güncellediği için bu liste tam olmayabilir.Belirtilen dilde bir ad yoksa API en yakın eşleşmeyi kullanır.
Belirtilen dil, API'nin döndürmeyi seçtiği sonuç kümesini ve bu sonuçların döndürülme sırasını etkileyebilir. Geokodlayı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.
geocodingResults dizisini anlama
İstek içinde adres dizesi veya Artı Kodu olarak belirtilen her konum (başlangıç, hedef veya ara yol noktası) için API, ilgili yer kimliğine sahip 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ü (ör. street_address
, premise
veya airport
) belirten type
alanını içerir.
geocodingResults
dizisi üç alan içerir:
origin
: Başlangıç noktasının adres dizesi veya Plus Code olarak belirtilmişse yer kimliği. Aksi takdirde, bu alan yanıttan çıkarılır.destination
: Adres dizesi veya Plus Code olarak belirtilmişse hedef yerin yer kimliği. Aksi takdirde, bu alan yanıttan çıkarılır.intermediates
: Adres dizesi veya Plus Code olarak belirtilen tüm ara yol noktalarının yer kimliğini içeren bir dizi. Yer kimliği veya enlem ve boylam koordinatlarını kullanarak bir ara nokta belirtirseniz bu nokta yanıttan çıkarılır. İstekteki hangi ara yol noktasının yanıttaki yer kimliğine karşılık geldiğini belirlemek için yanıttakiintermediateWaypointRequestIndex
ö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. Seyahat süresi, mesafe ve birim sistemi (metrik veya İngiliz ölçü sistemi) için yerelleştirilmiş metin sağlanır. Alan maskesi kullanarak yerelleştirilmiş değerler isteyebilir, dili ve birim sistemini belirtebilir veya API tarafından çıkarılan değerleri kullanabilirsiniz. Ayrıntılar için LocalizedValues başlıklı makaleyi inceleyin.
Örneğin, Almanca (de) için bir dil kodu ve İngiliz birimleri belirtirseniz distanceMeters
için 49889,7 değeri elde edersiniz. Ancak bu mesafe ölçümünü Almanca ve İngiliz birimleriyle sağlayan yerelleştirilmiş metin de elde edersiniz. Örneğin, "31 Meile".
Yerelleştirilmiş değerler için göreceğiniz örneği aşağıda bulabilirsiniz:
{ "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 aşağıdaki şekilde çıkarır:
ComputeRoutes
yöntemi, konum ve mesafe birimlerini başlangıç yol noktasından çıkarır. Bu nedenle, ABD'deki bir yönlendirme isteği için API,en-US
dili veIMPERIAL
birimleri çıkarır.ComputeRouteMatrix
yöntemi varsayılan olarak "en-US" dilini ve METRİK birimleri kullanır.