تحسين ترتيب المحطات في مسارك

بشكلٍ تلقائي، تعمل طريقة Compute Routes Routes API على احتساب مسار من خلال محطات متعددة، تُعرف باسم نقاط التوقف، في الترتيب الذي تقدّمه.

يمكنك السماح لواجهة Routes API بتحسين المسار المقدم عن طريق إعادة ترتيب تتوقف عند ترتيب أكثر كفاءة. تعمل ميزة "تحسين نقاط الالتفاف" على تحسين وقت التنقّل، ولكنها تأخذ أيضًا في الاعتبار عوامل أخرى، مثل المسافة وعدد المنعطفات عند تحديد المسار الأكثر فعالية.

لتحسين نقاط التوقف

  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. فهرسة نقاط التوقف تلقائيًا استنادًا إلى الترتيب الذي تقدّمه لها في الطلب، بدءًا من 0

  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'

فهرسة Routes API للنقاط الوسيطة المقدَّمة في الطلب، بدءًا من 0 على سبيل المثال:

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

باستخدام أرقام الفهرس للنقاط التوجيهية الأربعة المقدَّمة في الطلب، يعرض الخدمة الترتيب المحسّن:

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