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