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