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 şu bilgileri döndürür:
- Varsayılan rota: Öncelikli olarak tahmini varış zamanına göre optimize edilmiş bir rotadır.
- Tüm gezi 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 rota, sürüş konforu veya hız yerine mesafeye öncelik verir. Ö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:
travelModedeğeriniDRIVE,BICYCLEveyaTWO_WHEELERolarak ayarlayın.requestedReferenceRoutesdeğeriniSHORTER_DISTANCEolarak 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_DISTANCEveyaDEFAULT_ROUTE_ALTERNATEolarak tanımlar.routes.routeToken: Özel bir rota almak için Navigation SDK'ya iletebileceğiniz bir rota jetonu.
Viaara noktalarını eklemeyin.optimizeWaypointOrderparametresini 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 sayfalarını inceleyin.
Ö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 aşağıdaki alan maskeleriyle birlikte yanıt alan maskesini kullanırsınız:
routes.distanceMetersroutes.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'
Örnek daha kısa rota yanıtı
{
"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 tasarruflu 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 yüksek rota aynıdır. Bu nedenle, 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 özelliklerin kullanımı için ek ücret almaz. Belirlediğiniz diğer parametrelere göre API kullanımınız için ücretlendirilirsiniz.
Routes API için faturalandırma hakkında daha fazla bilgi edinin.