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

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

يمكنك استخدام 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 في قناع الحقل:

    وقت الاستراحة

    -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": "Connawarra,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.optimizedIntermediateWaypointIndex' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

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

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

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

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