بهطور پیشفرض، روش Routes API Compute Routes
مسیر را ازطریق چند توقف، که ایستگاههای بین راهی نامیده میشوند، به ترتیبی که شما ارائه میدهید محاسبه میکند.
میتوانید با تغییر ترتیب ایستگاهها به ترتیبی کارآمدتر، «میانای برنامهسازی کاربردی مسیرها» را وادار کنید مسیر ارائهشده را بهینهسازی کند. بهینهسازی ایستگاه بین راهی زمان سفر را بهینه میکند اما هنگام تصمیمگیری درباره اینکه کدام مسیر کارآمدتر است، عوامل دیگری مثل فاصله و تعداد پیچها را نیز درنظر میگیرد.
بهینهسازی کردن ایستگاههای بین راهی
مطمئن شوید هیچکدام از نقاطمسیر در مسیر
viaرویtrueتنظیم نشده باشد، برای مثال:{"address": "Clare,SA", "via": true}. برای اطلاعات بیشتر درباره ایستگاههای بین راهی، مشخص کردن ایستگاههای بین راهی را ببینید.مطمئن شوید
routing_preferenceرویTRAFFIC_AWARE_OPTIMALتنظیم نشده باشد.optimize_waypoint_orderرا رویtrueتنظیم کنید. برای مثال:"optimizeWaypointOrder": "true",
فیلد
routes.optimizedIntermediateWaypointIndexرا در پوشش فیلد مشخص کنید:REST
-H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex
RPC
const (fieldMask = "routes.optimizedIntermediateWaypointIndex")
آشنایی با نحوه بهینهسازی ترتیب ایستگاههای بین راهی
در اینجا نحوه بهینهسازی ترتیب نقاطمسیر در یک مسیر توسط Routes 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'
«میانای برنامهسازی کاربردی مسیرها» ایستگاههای بین راهی ارائهشده در درخواست را از ۰ نمایه میکند. برای مثال:
0 {"address": "Barossa+Valley,SA"}, 1 {"address": "Clare,SA"}, 2 {"address": "Coonawarrav,SA"}, 3 {"address": "McLaren+Vale,SA"}
سپس سرویس بااستفاده از شمارههای نمایه برای چهار نقطهمسیر ارائهشده در درخواست، ترتیب بهینهشده را برمیگرداند:
"optimizedIntermediateWaypointIndex": [ 3, 2, 0, 1 ]