Routes API bir rota hesaplarken sağladığınız ara noktaları ve yapılandırma parametrelerini giriş olarak 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ürlerini ve diğer verileri içerebilir:
| Bunu yanıta dahil etmek için | Bu dokümanı inceleyin. |
|---|---|
| Aracın motor türüne göre en yüksek yakıt veya enerji verimliliğine sahip 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 isteme |
| Sürücüye veya araca sunulan geçiş ücreti indirimleri ya da geçiş kartları dikkate alınarak hesaplanan tahmini geçiş ücretleri. | Geçiş ücretlerini hesaplama |
| Dil kodlarına ve ölçü birimine (İngiliz ölçü birimi veya metrik) göre yerelleştirilmiş yanıtlar. | Yerelleştirilmiş değerleri isteme |
Navigasyon 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 başlıklı makalelere 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 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 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 tarafından döndürülen 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 biri hakkında bilgi yer alabilir:
Rota: Başlangıç noktasından ara noktalara ve varış noktasına kadar olan tüm yolculuk. Bir rota, bir veya daha fazla etaptan oluşur.
Etap: Bir rotadaki bir ara noktadan rotadaki bir sonraki ara noktaya giden yol. Her bacak, bir veya daha fazla ayrı adımdan oluşur.
Bir rota, her 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 ara nokta için API ayrı bir etap ekler.
API, geçiş ara noktası için bir etap eklemez. Örneğin, başlangıç noktası ara noktası, geçiş ara noktası ve hedef ara noktası içeren bir rota, ara noktadan geçerek başlangıç noktasından hedefe giden tek bir bölüm içerir. Geçiş noktaları hakkında daha fazla bilgi için Geçiş noktası tanımlama başlıklı makaleyi inceleyin.
Adım: Bir rota ayağı boyunca verilen tek bir talimat. Adım, bir rotanın en küçük birimidir. Örneğin, bir adımda "Ana Cadde'den 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.routesdizisi, 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ünde bir öğe 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ünde 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ü Rota olan routes dizisi bulunur.
Her dizi öğesi, başlangıç noktasından varış noktasına giden bir rotanın tamamını temsil eder. API her zaman varsayılan rota olarak adlandırılan en az bir 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 |
Işareti, 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ıttaki her route, bir legs dizisi içerir. Bu dizideki her legs dizi öğesi RouteLeg türündedir.
Dizideki her segment, 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 steps dizi öğesi RouteLegStep türündedir.
Bir adım, bacak boyunca tek bir talimata karşılık gelir. Bir bacak her zaman en az bir adım içerir.
steps dizisindeki her öğe, adım talimatını içeren navigationInstruction özelliğini (türü NavigationInstruction) içerir. Örneğin:
"navigationInstruction": { "maneuver": "TURN_LEFT", "instructions": "Turn left toward Frontage Rd" }
instructions simgesi, 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 kalan ö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 belirtin.
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
languageCodeparametresini kullanın. Google, desteklenen dilleri sık sık güncellediğinden bu liste tam kapsamlı olmayabilir.Belirtilen dilde 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 göre farklı 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 Plus Code olarak belirtilen her konum (başlangıç, hedef veya ara nokta) için API, karşılık gelen 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: Hedefin yer kimliği. Adres dizesi veya Plus Code olarak belirtilmişse. 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 ara geçiş noktası 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ılı bilgi için LocalizedValues bölümünü inceleyin.
Örneğin, Almanca (de) ve İngiliz birimleri için bir dil kodu 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:
ComputeRoutesyöntemi, konum ve uzaklık ölçü birimlerini kalkış noktası ara noktasından çıkarır. Bu nedenle, ABD'deki bir rota isteği için API,en-USdili veIMPERIALbirimleri çıkarır.ComputeRouteMatrixyöntemi varsayılan olarak "en-US" dilini ve METRİK birimleri kullanır.