بهینه‌سازی ترتیب توقف‌ها در مسیر

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

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

می‌توانید با تغییر ترتیب ایستگاه‌ها به ترتیبی کارآمدتر، «میانای برنامه‌سازی کاربردی مسیرها» را وادار کنید مسیر ارائه‌شده را بهینه‌سازی کند. بهینه‌سازی ایستگاه بین راهی زمان سفر را بهینه می‌کند اما هنگام تصمیم‌گیری درباره اینکه کدام مسیر کارآمدتر است، عوامل دیگری مثل فاصله و تعداد پیچ‌ها را نیز درنظر می‌گیرد.

بهینه‌سازی کردن ایستگاه‌های بین راهی

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

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

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

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

    REST

    -H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex

    RPC

    const (fieldMask = "routes.optimizedIntermediateWaypointIndex")

آشنایی با نحوه بهینه‌سازی ترتیب ایستگاه‌های بین راهی

در اینجا نحوه بهینه‌سازی ترتیب نقاط‌مسیر در یک مسیر توسط Routes 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'

«میانای برنامه‌سازی کاربردی مسیرها» ایستگاه‌های بین راهی ارائه‌شده در درخواست را از ۰ نمایه می‌کند. برای مثال:

0    {"address": "Barossa+Valley,SA"},
1    {"address": "Clare,SA"},
2    {"address": "Coonawarrav,SA"},
3    {"address": "McLaren+Vale,SA"}

سپس سرویس بااستفاده از شماره‌های نمایه برای چهار نقطه‌مسیر ارائه‌شده در درخواست، ترتیب بهینه‌شده را برمی‌گرداند:

"optimizedIntermediateWaypointIndex": [
                3,
                2,
                0,
                1
            ]