Routes API bir rota hesaplarken ara noktaları alır ve yapılandırma parametrelerini dahil eder. Ardından, API bir yanıt döndürüyor default (varsayılan) rotayı ve bir veya daha fazla alternatif rotayı içeren URL'yi seçin.
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 açısından en verimli rota. | Çevre dostu rotaları yapılandırma |
En fazla üç alternatif rota | Alternatif rotalar isteme |
Rotanın her ayağı ve her adım için tüm rota için çoklu çizgi uzanır. | Rota çoklu çizgileri iste |
Tüm geçiş fiyat indirimleri dikkate alınarak hesaplanan tahmini geçiş ücretleri Sürücü veya araç için sunulan kartlar var. | 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'ne bakın. ve İstek gövdesi.
Yanıtı kullanarak müşterilerinize istediğiniz bilgiyi sağlayabilirsiniz gereksinimlerine uygun rotayı seçmek için gereklidir.
Alan maskeleri hakkında
Rota hesaplamak için bir yöntem çağırdığınızda bir alan belirtmelisiniz maskesi (ör. yanıtta döndürülmesini istediğiniz alanları tanımlar) Hayır, varsayılan değer listesidir. Bu listeyi çıkarırsanız yöntemler hatası.
Bu dokümandaki örneklerde, yanıt nesnesinin tamamı kabul hesaba katar. Üretim ortamında yanıtınız yalnızca alan maskesinde açıkça belirttiğiniz alanları dahil edin.
Daha fazla bilgi için İade edilecek bilgileri seçme başlıklı makaleye 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ı bildirimini 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 anlaması gerekir:
Yanıtınızda şu rota bileşenlerinin her biri hakkında bilgi bulunabilir:
Rota: Kalkış ara noktasından herhangi bir yere kadar tüm seyahatin tamamı ara ara noktaları, hedef ara noktasına Rota, veya daha fazla bacak.
Aşak: Rotadaki bir ara noktadan sonraki ara noktaya kadar olan yol yol gösterir. Her bacak, 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, rotada tek bir başlangıç ara noktası ve tek bir kalkış noktası varsa varsa, rota tek bir ayaktan oluşur. 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, Örneğin, bir kalkış noktası, geçiş noktası içeren bir rota bir ara nokta, bir hedef ara noktasının da referans noktasından geçerken başlangıç noktasını hedefe yönlendirir. Daha fazla geçiş referans noktalarıyla ilgili daha fazla bilgi için Bir geçiş ara noktası tanımlayın.
Adım: Bir rotanın ayağı üzerinde tek bir talimat. Bir adım rotanın atom birimi. Örneğin, bir adım "Ana Menüde sola dön Cadde''.
Yanıtın içeriği
JSON nesnesi aşağıdaki üst düzey özellikleri içerir:
routes
, tür elemanlardan oluşan bir dizi Rota.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 ile üç tane alternatif rota sunuyor.geocodingResults
, tür elemanlardan oluşan bir dizi GeocodingResults. İstekteki her konum (kaynak, hedef veya ara) için adres dizesi veya Artı kodu olarak belirttiğiniz ara nokta) API bir yer kimliği araması yapar. Bu dizinin her öğesi bir konuma karşılık gelen yer kodunu kullanın. İstekte belirtilen konumlar yer kimliği veya enlem/boylam koordinatları gibi bilgiler dahil edilmez. Tüm konumları yer kimlikleri veya enlem ve boylam kullanarak belirttiyseniz koordinatlarıyla birlikte bu dizi sağlanmaz.fallbackInfo
, tür FallbackInfo. API, tüm giriş özelliklerinden rota hesaplayamıyorsa farklı bir hesaplama yöntemi kullanmaya devam edebilir. Yedek olduğunda modu kullanılırsa bu alanda yedek hakkında ayrıntılı bilgiler yer alır. tıklayın. Aksi takdirde bu alan ayarlanmaz.
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ıt, her dizi öğesi türünde olan routes
dizisini içerir
Rota.
Her dizi öğesi, başlangıç noktasından hedefe kadar tüm rotayı temsil eder. İlgili içeriği oluşturmak için kullanılan
API her zaman, varsayılan rota adı verilen en az bir rota döndürür.
Ek rotalar isteyebilirsiniz. Bir
çevre dostu rota içeriyorsa dizi iki öğe içerebilir:
varsayılan rotayı ve çevre dostu rotayı seçebilirsiniz. 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 ayağının tanımını içerir. Kalan
distanceMeters
, duration
ve polyline,
gibi özellikler
rotanın bütünüyle ilgili bilgiler:
{ "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 örnekte, routeLabels
dizisi
şu iki etiketi de içeriyor: DEFAULT_ROUTE
ve FUEL_EFFICIENT
.
{ "routes": [ { "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ], … } ] }
Bacak 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. Rota her zaman en az bir ayak içerir.
legs
özelliği,
steps
dizisi. Kalan özellikler (ör. distanceMeters
, duration
,
ve polyline
bacakla ilgili bilgiler içeriyor.
{ "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 olmalıdır.
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çeriyor olabilir. Ö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 bilgileri açıklar. Örneğin,
distanceMeters
, duration
ve polyline
olarak:
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "navigationInstruction": { object (NavigationInstruction) } }
Adım talimatlarının dilini belirtin
API, rota bilgilerini yerel dilde, kullanıcının okuyabileceği bir komut dosyası (ör. kullanıcı tarafından dili'ne dokunun. Adres bileşenlerinin tümü aynı dilde döndürülür.
Şu parametrenin
languageCode
parametresini kullan: şu kişiye istekte bulunun: rota dilini açıkça desteklenenler listesinden ayarla diller hakkında daha fazla bilgi edinin. Google genellikle desteklenen bu nedenle bu listede olası her örneğe yer verilmemiş olabilir.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. İlgili içeriği oluşturmak için kullanılan coğrafi kod, kısaltmaları dile bağlı olarak farklı şekillerde yorumlar, sokak türlerinin kısaltmaları veya sokaklarda geçerli olabilecek eş anlamlı kelimeler başka bir dilde değil. Ö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. Her bir öğe
geocodingResults
dizi placeID
alanını içerir
bir yer kimliği olarak konumu ve konumu belirten bir type
alanı içerir
street_address
, premise
veya airport
gibi bir tür seçin.
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 Plus code olarak belirtilmişse hedefin yer kimliğini girin. Aksi takdirde, bu alan tıklayın.intermediates
: Herhangi bir ara öğenin yer kimliğini içeren dizi bir adres dizesi veya Plus code olarak belirtilen ara noktaları içerir. Örneğin yer kimliği veya enlemi kullanan bir ara referans noktası boylam koordinatları, yanıttan çıkarılır. Şunu kullanın:intermediateWaypointRequestIndex
özelliğini kullanarak istekteki yer kimliğine karşılık gelen ara nokta yanıt verelim.
"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. Yerelleştirilmiş metin şunun için sağlanmıştır: seyahat süresi, mesafe ve birim sistem (metrik veya İngiliz ölçü birimi) 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 bkz. LocalizedValues.
Örneğin, Almanca (de) ve İngiliz ölçü birimi için bir dil kodu belirtirseniz
için 49889,7 distanceMeters
bir değer elde edersiniz.
mesafe ölçümünü sağlayan Almanca ve yerelleştirilmiş metinlerin yanı sıra
İngiliz ölçü birimleri, 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, konumu ve mesafeyi tahmin eder birim sayısını temel alır. ABD'deki bir yönlendirme isteği için API,en-US
dil veIMPERIAL
birim çıkar.ComputeRouteMatrix
yöntemi varsayılan olarak "en-US" olur dil ve METRIC birimleri için geçerlidir.