Routes API bir rota hesaplarken sağladığınız ara noktaları ve yapılandırma parametrelerini giriş olarak alı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 göre farklı rota türleri 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 isteme |
| 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ıttan yararlanarak 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, kısımlar 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ız, aşağıdaki rota bileşenlerinin her biri hakkında bilgi içerebilir:
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 ayak, 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 ayak 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 rotanın ayağı boyunca 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ıtta neler var?
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 kimlikleri veya enlem ve boylam koordinatlarını kullanarak belirttiyseniz bu dizi sağlanmaz.fallbackInfo, türünde FallbackInfo. API, tüm giriş özelliklerinden bir rota hesaplayamazsa farklı bir hesaplama yöntemine geçebilir. 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 rotalar talep edebilirsiniz. Ç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 her iki etiketi de içerir: DEFAULT_ROUTE ve FUEL_EFFICIENT.
{ "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ım 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, 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ı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.
Rota dilini desteklenen diller listesinden açıkça ayarlamak için isteğin
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. Coğrafi kodlayıcı, kısaltmaları dile göre 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ı kelimeler. Ö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: Adres dizesi veya Plus Code olarak belirtilmişse başlangıç noktasının yer kimliği. Aksi takdirde bu alan yanıttan çıkarılır.destination: Adres dizesi veya Plus Code olarak belirtilmişse varış noktasının 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 ara geçiş noktası belirtirseniz bu nokta yanıttan çıkarılır. YanıttakiintermediateWaypointRequestIndexözelliğini kullanarak istekteki hangi ara yol noktasının yanıttaki yer kimliğine karşılık geldiğini belirleyin.
"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ş tepki 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. Gezi süresi, mesafe ve birim sistemi (metrik veya İngiliz ölçü birimi) 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 gibi tahmin eder:
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.