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, koşullara bağlı olarak farklı türde rotaları ve diğer verileri içerebilir istediğiniz alanlar:
Bunu 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 isteme |
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çüm birimine göre yerelleştirilmiş yanıtlar (İngiliz veya metrik). | Yerelleştirilmiş değerler isteme |
Gezinme talimatlarını HTML metin dizesi olarak biçimlendirmek için şuraya HTML_FORMATTED_NAVIGATION_INSTRUCTIONS ekleyin:
extraComputations . |
Ekstra 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. Her bir kalkış ve varış noktasından sonra rotaya eklediğiniz ek ara nokta, ara ara nokta olarak adlandırılan API ayrı bir ayak ekler.
API, geçiş ara noktası için ayak 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ı, 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 computeAlternativeRoutes
öğesini şuna ayarlayın:
Yanıta üç alternatif rota ekleme isteğinde true
.
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ıttaki her route
, bir legs
dizisi içerir. Burada her legs
dizisi
öğe türü
RouteLeg'i seçin.
Dizideki her ayak, bir referans noktasından diğer ara noktaya kadar olan yolu tanımlar
ilerler. 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 bacak bir steps
dizisi içerir. Burada her steps
dizisi
öğe türü
RouteLegStep:
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, navigationInstruction
değerini içerir
özellik, tür
NavigationInstruction,
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.Bir ad, belirtilen dilde sunulmuyorsa API en yakın eşleşmedir.
Belirtilen dil, reklamverenin API, döndürülmeyi ve döndürülme sırasını seçer. İ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, utca ve tér, İngilizcede kullanılan Macarca sokak.
geocodingResults dizisini anlama
İstekteki her konum (kaynak, hedef veya ara) için
adres dizesi veya Artı kodu olarak belirtilen bir ara nokta)
API, karşılık gelen bir yere sahip en alakalı konumu bulmaya çalışır
Kimlik. 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
: Bir adres dizesi veya Plus code olarak belirtilmişse kökenin yer kimliğini girin. 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) Talebiniz yerelleştirilmiş değerleri alan maskesi kullanarak değiştirebilir ve dili ve dili veya API'nin tahmin ettiği 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ğiniz bir ö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 tahmin eder ve birimlere göre aşağıdaki şekilde oluşturulur:
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.