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

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

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

    REST

    -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": "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
            ]