به طور پیشفرض، متد Compute Routes در API مسیرها، مسیری را از طریق چندین ایستگاه، که ایستگاههای بینراهی نامیده میشوند، به ترتیبی که شما تعیین میکنید، محاسبه میکند.
شما میتوانید از API مسیرها بخواهید که با مرتبسازی مجدد ایستگاهها به ترتیبی کارآمدتر، مسیر ارائه شده را بهینه کند. بهینهسازی نقطه مسیر، زمان سفر را بهینه میکند، اما عوامل دیگری مانند مسافت و تعداد پیچها را نیز هنگام تصمیمگیری در مورد کارآمدترین مسیر در نظر میگیرد.
برای بهینهسازی نقاط مسیر
مطمئن شوید که هیچ یک از نقاط مسیر در مسیر
viaرویtrueتنظیم نشده باشند، برای مثال:{"address": "Clare,SA", "via": true}. برای اطلاعات بیشتر در مورد نقاط مسیر میانی، به Specify intermediate waypoints مراجعه کنید.مطمئن شوید که
routing_preferenceرویTRAFFIC_AWARE_OPTIMALتنظیم نشده باشد.optimize_waypoint_orderرویtrueتنظیم کنید. برای مثال:"optimizeWaypointOrder": "true",
فیلد
routes.optimizedIntermediateWaypointIndexرا در ماسک فیلد مشخص کنید:استراحت
-H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex
آر پی سی
const (fieldMask = "routes.optimizedIntermediateWaypointIndex")
درک کنید که چگونه ترتیب نقاط مسیر بهینه شده است
در اینجا نحوهی بهینهسازی ترتیب نقاط مسیر در یک مسیر توسط API مسیرها آورده شده است:
به طور خودکار نقاط مسیر را بر اساس ترتیبی که در درخواست ارائه میدهید، و از ۰ شروع میشود، فهرستبندی میکند.
ترتیب نقاط مسیر را با استفاده از شمارههای شاخصی که در درخواست به نقاط مسیر اختصاص داده است، بهینه میکند.
ترتیب بهینه شدهی نقطهی مسیر را در شیء
routes، در فیلدwaypoint_order، در زیرroutes.optimizedIntermediateWaypointIndexبرمیگرداند.
مثال
این درخواست، بهینهسازی مسیری از آدلاید، استرالیای جنوبی، به هر یک از مناطق اصلی شرابسازی استرالیای جنوبی و سپس بازگشت به آدلاید را درخواست میکند.
curl -X POST -H 'content-type: application/json' -d ' { "origin": { "address": "Adelaide,SA" }, "destination": { "address": "Adelaide,SA" }, "intermediates": [ {"address": "Barossa+Valley,SA"}, {"address": "Clare,SA"}, {"address": "Coonawarra,SA"}, {"address": "McLaren+Vale,SA"} ], "travelMode": "DRIVE", "optimizeWaypointOrder": "true" }' \ -H 'Content-Type: application/json' \ -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes,geocodingResults.intermediates.intermediateWaypointRequestIndex' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
API مسیرها، نقاط بینراهی میانی ارائه شده در درخواست را با شروع از ۰، اندیسگذاری میکند. برای مثال:
0 {"address": "Barossa+Valley,SA"}, 1 {"address": "Clare,SA"}, 2 {"address": "Coonawarrav,SA"}, 3 {"address": "McLaren+Vale,SA"}
با استفاده از شمارههای شاخص برای چهار نقطهی مسیر ارائه شده در درخواست، سرویس سپس ترتیب بهینه شده را برمیگرداند:
"optimizedIntermediateWaypointIndex": [ 3, 2, 0, 1 ]