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

بشكلٍ تلقائي، تعمل طريقة 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
            ]