โดยค่าเริ่มต้น เมธอด 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"}
จากนั้นบริการจะแสดงผลลำดับที่เพิ่มประสิทธิภาพแล้วโดยใช้หมายเลขดัชนีสำหรับจุดอ้างอิง 4 จุดที่ระบุในคำขอ
"optimizedIntermediateWaypointIndex": [ 3, 2, 0, 1 ]