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

المطوّرون في المنطقة الاقتصادية الأوروبية

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