ترتیب توقف ها را در مسیر خود بهینه کنید

توسعه‌دهندگان منطقه اقتصادی اروپا (EEA)

به طور پیش‌فرض، متد Compute Routes در API مسیرها، مسیری را از طریق چندین ایستگاه، که ایستگاه‌های بین‌راهی نامیده می‌شوند، به ترتیبی که شما تعیین می‌کنید، محاسبه می‌کند.

شما می‌توانید از API مسیرها بخواهید که با مرتب‌سازی مجدد ایستگاه‌ها به ترتیبی کارآمدتر، مسیر ارائه شده را بهینه کند. بهینه‌سازی نقطه مسیر، زمان سفر را بهینه می‌کند، اما عوامل دیگری مانند مسافت و تعداد پیچ‌ها را نیز هنگام تصمیم‌گیری در مورد کارآمدترین مسیر در نظر می‌گیرد.

برای بهینه‌سازی نقاط مسیر

  1. مطمئن شوید که هیچ یک از نقاط مسیر در مسیر via روی true تنظیم نشده باشند، برای مثال: {"address": "Clare,SA", "via": true} . برای اطلاعات بیشتر در مورد نقاط مسیر میانی، به Specify intermediate waypoints مراجعه کنید.

  2. مطمئن شوید که routing_preference روی TRAFFIC_AWARE_OPTIMAL تنظیم نشده باشد.

  3. optimize_waypoint_order روی true تنظیم کنید. برای مثال:

    "optimizeWaypointOrder": "true",
  4. فیلد routes.optimizedIntermediateWaypointIndex را در ماسک فیلد مشخص کنید:

    استراحت

    -H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex

    آر پی سی

    const (fieldMask = "routes.optimizedIntermediateWaypointIndex")

درک کنید که چگونه ترتیب نقاط مسیر بهینه شده است

در اینجا نحوه‌ی بهینه‌سازی ترتیب نقاط مسیر در یک مسیر توسط API مسیرها آورده شده است:

  1. به طور خودکار نقاط مسیر را بر اساس ترتیبی که در درخواست ارائه می‌دهید، و از ۰ شروع می‌شود، فهرست‌بندی می‌کند.

  2. ترتیب نقاط مسیر را با استفاده از شماره‌های شاخصی که در درخواست به نقاط مسیر اختصاص داده است، بهینه می‌کند.

  3. ترتیب بهینه شده‌ی نقطه‌ی مسیر را در شیء 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
            ]