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

تعرض واجهة 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
            ]