Kısa mesafe rotalarını etkinleştirdiğinizde Compute Routes, 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: Öncelikli olarak tahmini varış zamanı için optimize edilmiş bir rotadır.
- Tüm yolculuk boyunca seyahat mesafesini en aza indirmek için optimize edilmiş daha kısa bir rota.
Nedir ve neden kullanılmalıdı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 yolları kullanabilir veya otoparklardan geçebilir. Google Haritalar'ın yasa dışı olduğunu bildiği manevralar döndürülmez.
Daha kısa mesafeli bir rota isteyin
Talebinizin aşağıdaki ölçütleri karşılaması gerekir:
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 rotayıDEFAULT_ROUTE
,SHORTER_DISTANCE
veyaDEFAULT_ROUTE_ALTERNATE
olarak tanımlar.routes.routeToken
: Özel bir rota almak için Navigation SDK'ya iletebileceğiniz bir rota jetonu.
Via
Ara yol noktaları eklemeyin.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'a bakın.
Örnek istek: Daha kısa mesafeli rota
Aşağıdaki kodda, daha kısa mesafeli bir rota isteği gösterilmektedir. Bu örnekte, hem varsayılan hem de daha kısa mesafeli rotayla ilişkili alanları döndürmek için yanıt alan maskesini aşağıdaki alan maskeleriyle kullanıyorsunuz:
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 mesafeli ve yakıt verimliliği yüksek rota
Aşağıdaki kodda hem daha kısa mesafeli bir rota hem de yakıt tasarrufu sağlayan 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, daha 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
dahil edilir.
{ "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 özelliklerin kullanımı için ek ücret almaz. API'yi kullanımınıza göre, belirlediğiniz diğer parametreler temel alınarak ücretlendirilirsiniz.
Rotalar API'si faturalandırması hakkında daha fazla bilgi edinin.