وقتی مسیرهای با مسافت کوتاهتر را فعال کنید، Compute Routes میتواند مسیرهای رانندگی بهینهشده برای مسافت سفر کوتاهتر را برگرداند.
وقتی مسیر کوتاهتری را درخواست میکنید، سرویس موارد زیر را برمیگرداند:
- مسیر پیشفرض، که مسیری است که در درجه اول برای «زمان تخمینی رسیدن» بهینهسازی شده است.
- مسیر کوتاهتری که برای بهحداقل رساندن مسافت سفر در کل سفر بهینهسازی شده است.
این ویژگی چیست و چرا باید از آن استفاده کنید
مسیر کوتاهتر مسافت را بر راحتی یا سرعت رانندگی اولویت میدهد. برای مثال، ممکن است جادههای محلی را بهجای بزرگراهها ترجیح دهد، از جادههای خاکی استفاده کند، یا از میان پارکینگها عبور کند. این روش هیچ مانوری را که Google Maps میداند غیرقانونی است برنمیگرداند.
درخواست مسیر کوتاهتر
درخواست شما باید معیارهای زیر را داشته باشد:
-
travelModeرا رویDRIVE،BICYCLE، یاTWO_WHEELERتنظیم کنید. requestedReferenceRoutesرا رویSHORTER_DISTANCEتنظیم کنید.- پوشش فیلد پاسخ را تنظیم کنید تا ویژگیهای پاسخ مرتبط با مسیر کوتاهتر را برگرداند:
routes.routeLabels: هر مسیر را بهعنوانDEFAULT_ROUTE،SHORTER_DISTANCE، یاDEFAULT_ROUTE_ALTERNATEشناسایی میکند.-
routes.routeToken: کد مسیری که میتوانید به کیت توسعه نرمافزار پیمایش ارسال کنید تا مسیر سفارشی را بازیابی کنید.
- هیچکدام از
Viaنقطهمسیرهای میانی را اضافه نکنید. - پارامتر
optimizeWaypointOrderرا درج نکنید. - اختیاری: ماسک فیلد پاسخ را تنظیم کنید تا ویژگیهای زیر را که با هر دو مسیر پیشفرض و کوتاهتر مرتبط هستند برگرداند:
-
routes.distanceMeters: فاصله مسیر را برمیگرداند. -
routes.duration: مدت مسیر را برمیگرداند.
-
برای اطلاعات مرجع، به ReferenceRoute و RouteLabel مراجعه کنید.
درخواست نمونه: مسیر کوتاهتر
کد زیر درخواست مسیر کوتاهتری را نشان میدهد. در این مثال، از ماسک فیلد پاسخ برای برگرداندن فیلدهای مرتبط با هر دو مسیر پیشفرض و کوتاهتر با ماسکهای فیلد زیر استفاده میکنید:
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'
نمونه پاسخ مسیر کوتاهتر
{
"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"
]
}
]
}
درخواست نمونه: مسیر کوتاهتر و با بهرهوری سوخت
کد زیر درخواست برای هر دو مسیر با فاصله کوتاهتر و مسیر با مصرف سوخت بهینه را نشان میدهد.
`
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'
پاسخ نمونه: مسافت کوتاهتر و مسیر با بهرهوری سوخت
در این حالت، مسافت کوتاهتر و مسیر با بیشترین بهرهوری سوخت یکسان هستند، بنابراین آن مسیر برگردانده میشود و routeLabel برای هر دو نوع مسیر لحاظ میشود.
{ "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" ] } ] }
مناطق پشتیبانیشده
مسیرهای کوتاهتر در همه مناطق پشتیبانی میشود.
صورتحساب
«پلاتفرم Google Maps» برای استفاده از ویژگی آزمایشی هزینه اضافی دریافت نمیکند. براساس استفادهتان از «میانای برنامهسازی کاربردی» براساس پارامترهای دیگری که تنظیم میکنید از شما هزینه کسر خواهد شد.
درباره صورتحساب «میانای برنامهسازی کاربردی مسیرها» بیشتر بدانید.