بشكلٍ تلقائي، تعمل طريقة Compute Routes
Routes API على احتساب مسار من خلال محطات متعددة، تُعرف باسم نقاط التوقف، في
الترتيب الذي تقدّمه.
يمكنك أن تطلب من Routes API تحسين المسار المقدَّم من خلال إعادة ترتيب المحطات بترتيب أكثر فعالية. يؤدي تحسين نقاط الطريق إلى تحسين وقت السفر ولكنه يراعي أيضًا عوامل أخرى مثل المسافة وعدد الانعطافات عند تحديد المسار الأكثر كفاءة.
لتحسين نقاط التوقف
تأكَّد من أنّه لم يتم ضبط
via
علىtrue
لأي من نقاط الالتفاف في المسار، على سبيل المثال:{"address": "Clare,SA", "via": true}
. لمزيد من المعلومات عن نقاط الالتفاف المؤقتة، يُرجى الاطّلاع على تحديد نقاط الالتفاف المؤقتة.تأكَّد من أنّ السمة
routing_preference
ليست مضبوطة علىTRAFFIC_AWARE_OPTIMAL
.اضبط
optimize_waypoint_order
علىtrue
. على سبيل المثال:"optimizeWaypointOrder": "true",
حدِّد حقل
routes.optimizedIntermediateWaypointIndex
في ملف الاستهداف:REST
-H X-Goog-FieldMask: routes.optimizedIntermediateWaypointIndex
RPC
const (fieldMask = "routes.optimizedIntermediateWaypointIndex")
فهم كيفية تحسين ترتيب النقاط الوسيطة
في ما يلي كيفية تحسين Routes API لترتيب نقاط الطريق في مسار معيّن:
يتم فهرسة نقاط التوقف تلقائيًا استنادًا إلى الترتيب الذي تقدّمه لها في الطلب، بدءًا من 0.
تحسين ترتيب نقاط الطريق باستخدام أرقام الفهرس التي تم تعيينها إلى نقاط الطريق في الطلب.
عرض ترتيب نقاط الطريق المحسَّنة في عنصر
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 ]