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