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

تحسب طريقة 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

    متوسط عائد النقرة

    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
            ]