Routes API, daha kısa mesafe rotalarını etkinleştirdiğinizde daha kısa seyahat mesafesi için optimize edilmiş sürüş rotaları döndürebilir.
Daha kısa mesafeli bir rota istediğinizde hizmet aşağıdakileri döndürür:
- Varsayılan rota, öncelikle ETA için optimize edilmiş bir rotadır.
- Seyahatin tamamında seyahat mesafesini en aza indirmek için optimize edilmiş daha kısa bir rota.
Nedir ve neden kullanılır?
Daha kısa mesafeli rotalarda, sürüş konforu veya hız yerine mesafeye öncelik verilir. Örneğin, otoyollar yerine yerel yolları tercih edebilir, toprak yollardan geçebilir veya otoparklardan kısa yoldan geçebilir. Google Haritalar'ın yasa dışı olduğunu bildiği hiçbir manevrayı döndürmez.
Daha kısa mesafeli bir rota isteğinde bulunma
Talebiniz aşağıdaki ölçütleri karşılamalıdır:
travelMode
değeriniDRIVE
,BICYCLE
veyaTWO_WHEELER
olarak ayarlayın.requestedReferenceRoutes
değeriniSHORTER_DISTANCE
olarak ayarlayın.- Daha kısa mesafeli bir rotayla ilişkili yanıt özelliklerini döndürmek için bir yanıt alanı maskesi ayarlayın:
routes.routeLabels
: Her bir rotayıDEFAULT_ROUTE
,SHORTER_DISTANCE
veyaDEFAULT_ROUTE_ALTERNATE
olarak tanımlar.routes.routeToken
: Özel bir rota almak için Navigation SDK'sına iletebileceğiniz rota jetonu.
Via
ara yol işaretlerini dahil etmeyin.optimizeWaypointOrder
parametresini eklemeyin.- İsteğe bağlı: Hem varsayılan hem de daha kısa mesafeli rotayla ilişkili aşağıdaki özellikleri döndürmek için bir yanıt alanı maskesi ayarlayın:
routes.distanceMeters
: Rotanın mesafesini döndürür.routes.duration
: Rotanın süresini döndürür.
Referans bilgileri için ReferenceRoute ve RouteLabel'e bakın.
Örnek istek: Daha kısa mesafeli rota
Aşağıdaki kodda, daha kısa mesafeli bir rota isteğinde bulunulmaktadır. Bu örnekte, yanıt alan maskesini kullanarak hem varsayılan hem de daha kısa mesafeli rotayla ilişkili alanları aşağıdaki alan maskeleriyle döndürürsünüz:
routes.distanceMeters
routes.duration
curl -X POST -H 'content-type: application/json' -d '{ "origin": { "location": { "latLng": { "latitude": 41.76904801292959, "longitude": -72.67374935684933 } } }, "destination": { "location": { "latLng": { "latitude": 41.823042361105024, "longitude": -71.40933143059424 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE", "requestedReferenceRoutes": ["SHORTER_DISTANCE"], }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY \ -H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
Daha kısa rota yanıtı örneği
{
"routes": [
{
"distanceMeters": 138943,
"duration": "5373s",
"routeToken": "CrsCCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXcklWWFo2cjhDZmltdk9NUDQ3aU1nUU0QBRpPCk0KGAoNCgIIAREAAAAAAIBmQBF56SYxqDm4QBISCAAQAxAGEBMQEhgCQgQaAggFIhsKF3JJVlhaLWFOQnZpbXZPTVA0N2lNZ1FNcAEoASIVAACBmRY1BjeCiUQewJGTrQ3DuHRp",
"routeLabels": [
"DEFAULT_ROUTE"
]
},
{
"distanceMeters": 112610,
"duration": "7165s",
"routeToken": "CqgCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdySVZYWjZHR0RiTzV2T01QOUpiQXlBTRAFGk8KTQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhIIABADEAYQExASGAJCBBoCCAUiGwoXcklWWFo3S09Cck81dk9NUDlKYkF5QU1wASgCIhUAAIGZFlj_CmMgGE6KGZcsE-tEywM",
"routeLabels": [
"SHORTER_DISTANCE"
]
}
]
}
Örnek istek: Daha kısa mesafe ve yakıt verimliliği yüksek rota
Aşağıdaki kodda hem daha kısa mesafeli hem de yakıt verimliliği yüksek bir rota isteği gösterilmektedir.
`
curl -X POST -d '{ "origin": { "location": { "latLng": { "latitude": 41.76904801292959, "longitude": -72.67374935684933 } } }, "destination": { "location": { "latLng": { "latitude": 41.823042361105024, "longitude": -71.40933143059424 } } }, "travelMode":"DRIVE", "routingPreference":"TRAFFIC_AWARE_OPTIMAL", "requestedReferenceRoutes": ["SHORTER_DISTANCE", "FUEL_EFFICIENT"] }'
-H 'Content-Type: application/json'
-H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: routes.distanceMeters,routes.duration,routes.routeLabels,routes.routeToken'
'https://routes.googleapis.com/directions/v2:computeRoutes'
Örnek yanıt: Daha kısa mesafe ve yakıt verimliliği yüksek rota
Bu durumda, en kısa mesafe ve yakıt verimliliği en yüksek rota aynı olduğundan bu rota döndürülür ve her iki rota türü için de routeLabel
eklenir.
{ "routes": [ { "distanceMeters": 138943, "duration": "5375s", "routeToken": "Cr8CCs4BMssBGq8BCkECFg9eN0MowaEI3Y4KqMEhzOTe-Qi3947kBsb8koUBkvX0oAKJ_b1S4uPoUvzzAYfXA92t_RXyw98Up6qKAaRaABIsNBjodKMdkMYAPMLMIajCwj-zsIxpgyBxOLYjdBBeKgkO3tFDDrj4YgZB5bMaFQAATME12CCCA9MEF-kO2wL_____DyoLHgAOAHN3DggAQQEyBAUBAQM9VDgqPkV88FI_SNO81oLq4JnjYyIXS1laWFo4T19JcWVCM2ZFUDFMbms4UXcQBRpTClEKGAoNCgIIAREAAAAAAIBmQBFOYhBYGTy4QBIWCAAQAxAGEBMQEhgCQgQaAggFSgIIASIbChdLWVpYWjlpV0g2ZUIzZkVQMUxuazhRd3ABKAEiFQAAgZkW4Df4cspNNJZWlMZuUUxLPQ", "routeLabels": [ "DEFAULT_ROUTE" ] }, { "distanceMeters": 112610, "duration": "7156s", "routeToken": "CqwCCrsBMrgBGpwBCjYCFg1SN0MowaEI3Y4KjfqjF6Ls9BXc-QGiqCOpu7FDtfCXxSG2zLOGI_r4uQGc-we_nQ7MLAASLDQY6HSjHZDGg26EAFrPI5Q3NxvGA4ELazy3sLYqno_9eAFD2KxlCqAGQeWzGg4AAMQDGwyiAqwwKQggJCoLHgBsCQ8Acm0XWWcyAgQGPVQ4Kj5FfPBSP0jikPWC95WdhIwBIhdLWVpYWi1UNklfT055OVlQczhhcWlRSRAFGlMKUQoYCg0KAggCEQAAAAAAAFlAEU5iEFh5af1AEhYIABADEAYQExASGAJCBBoCCAVKAggBIhsKF0tZWlhaNERXSF9PTnk5WVBzOGFxaVFJcAEoAiIVAACBmRaESp2EJS5nmwiEF8KH15_f", "routeLabels": [ "FUEL_EFFICIENT", "SHORTER_DISTANCE" ] } ] }
Desteklenen bölgeler
Daha kısa mesafeli rotalar tüm bölgelerde desteklenir.
Faturalandırma
Google Haritalar Platformu, deneysel bir özelliğin kullanımı için ek ücret almaz. Belirlediğiniz diğer parametrelere göre API'yi kullanımınıza göre ücretlendirilirsiniz.
Routes API için faturalandırma hakkında daha fazla bilgi edinin.