เพิ่มประสิทธิภาพลําดับของจุดแวะบนเส้นทางของคุณ

นักพัฒนาซอฟต์แวร์ในเขตเศรษฐกิจยุโรป (EEA)

โดยค่าเริ่มต้น เมธอด Compute Routes ของ Routes API จะคำนวณเส้นทางผ่านจุดแวะพักหลายจุด ซึ่งเรียกว่าจุดอ้างอิงแวะพัก ตามลำดับที่คุณระบุ

คุณสามารถให้ 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

    RPC

    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"}

จากนั้นบริการจะแสดงผลลำดับที่เพิ่มประสิทธิภาพแล้วโดยใช้หมายเลขดัชนีสำหรับจุดอ้างอิง 4 จุดที่ระบุในคำขอ

"optimizedIntermediateWaypointIndex": [
                3,
                2,
                0,
                1
            ]