เมื่อมีการคำนวณเส้นทาง (รวมถึงการเปลี่ยนเส้นทาง) ระบบจะแสดงเส้นทางที่ใช้เวลาน้อยที่สุดในการนำทางเป็นเส้นทางที่ดีที่สุดเริ่มต้น แต่คุณสามารถเปลี่ยนกลยุทธ์การกำหนดเส้นทางเพื่อให้ระบบแสดงเส้นทางสำรองที่สั้นกว่าแทน
คำว่าสั้นกว่าหมายความว่าเส้นทางนั้นสั้นที่สุดในผลลัพธ์ของการกำหนดเส้นทางที่ดีที่สุดตามรูปแบบค่าใช้จ่ายเริ่มต้นของเรา เส้นทางที่สั้นอาจไม่ใช่เส้นทางที่สั้นที่สุด เนื่องจากเส้นทางนั้นอาจเป็นทางเลือกที่ไม่ดี ตัวอย่างเช่น เมื่อเส้นทางที่สั้นที่สุดคือ 10 กม. และใช้เวลา 50 นาทีในการนำทาง ในขณะที่เส้นทางที่สั้นที่สุดคือ 15 กม. และใช้เวลา 20 นาทีในการนำทาง ทั้งนี้ การให้เวลา 30 นาทีเพื่อลด 5 กม. จะไม่ใช่ทางเลือกที่ดี
เมื่อตั้งค่ากลยุทธ์การกำหนดเส้นทางสำหรับการเดินทางแล้ว กลยุทธ์ดังกล่าวจะไม่เปลี่ยนแปลงจนกว่าการเดินทางจะเสร็จสมบูรณ์ หากต้องการเปลี่ยนกลยุทธ์การกำหนดเส้นทาง คุณต้องล้างปลายทางและรีเซ็ตอีกครั้งโดยใช้กลยุทธ์การกำหนดเส้นทางใหม่
การกำหนดกลยุทธ์การกำหนดเส้นทาง
คุณกำหนดค่าการนำทางให้ใช้กลยุทธ์การกำหนดเส้นทางเส้นทางที่สั้นลงได้โดยตั้งค่า RoutingOptions.routingStrategy
เมื่อเรียกใช้ setDestinations()
RoutingOptions.routingStrategy
ใช้ค่าการแจงนับค่าใดค่าหนึ่งจาก 2 รายการต่อไปนี้
ค่าการแจงนับ | คำอธิบาย |
---|---|
RoutingStrategy.DEFAULT_BEST | จัดอันดับเส้นทางตามรูปแบบค่าใช้จ่ายเริ่มต้นของ Navigation SDK นี่คือกลยุทธ์การกำหนดเส้นทางเริ่มต้น |
RoutingStrategy.SHORTER | จัดอันดับเส้นทางตามระยะทาง เส้นทางที่มีลำดับสูงสุดคือเส้นทางที่ถูกที่สุดที่มีการแสดงผล |
ตัวอย่าง
ตัวอย่างโค้ดต่อไปนี้จะแสดงวิธีตั้งค่ากลยุทธ์การกำหนดเส้นทางเส้นทางที่สั้น
RoutingOptions routingOptions = new RoutingOptions();
routingOptions.routingStrategy(RoutingStrategy.SHORTER);
navigator.setDestinations(destinations, routingOptions, displayOptions);
รายละเอียดเส้นทาง
เมื่อเส้นทางที่สั้นเกินไป เส้นทางที่ดีที่สุดจะเป็นตัวเลือกที่ดีกว่า คุณสามารถเปรียบเทียบกลยุทธ์การกำหนดเส้นทางได้โดยโทรไปที่ getRouteInfo()
เพื่อดูรายละเอียดเส้นทางของแต่ละเส้นทาง รายละเอียดต่างๆ ได้แก่ ระยะเวลาและระยะทางไปยังจุดอ้างอิงปลายทาง
กำลังดึงรายละเอียดเส้นทาง
คุณสามารถเรียกดูรายละเอียดเส้นทางสำหรับทั้งกลยุทธ์การกำหนดเส้นทาง (เส้นทางที่ดีที่สุดเริ่มต้นและเส้นทางที่สั้นกว่า) ได้สำหรับจุดอ้างอิงทางเดียว รายละเอียดเหล่านี้มาจาก RouteInfo
และแสดงผลใน ListenableResultFuture
ตัวอย่าง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีรับรายละเอียดเส้นทางสำหรับกลยุทธ์การกำหนดเส้นทางทั้ง 2 แบบ
ListenableResultFuture<RouteInfo> routeInfoFuture =
navigator.getRouteInfo(waypoint, routingOptions);
รูปแบบข้อความไฮไลต์ของเส้นทาง
ภายใต้กลยุทธ์การกำหนดเส้นทางเส้นทางที่สั้นลง ข้อความไฮไลต์ตามเส้นทางที่แสดงรายละเอียดระยะทาง แต่คุณใช้ไฮไลต์เวลาถึงโดยประมาณแทนได้
การกำหนดค่ารูปแบบข้อความไฮไลต์ของเส้นทาง
คุณเปลี่ยนรูปแบบไฮไลต์ของเส้นทางได้โดยเรียกใช้ setRouteCalloutInfoFormat
ใน NavigationView
(หรือใน NavigationFragment
) setRouteCalloutInfoFormat
ใช้ค่าแจกแจงใดค่าหนึ่งต่อไปนี้
ค่าการแจงนับ | คำอธิบาย |
---|---|
RouteCalloutInfoFormat.DEFAULT | แสดงเวลาที่เหลือเมื่อใช้กลยุทธ์การกำหนดเส้นทางที่ดีที่สุดเริ่มต้น แสดงระยะทางที่เหลืออยู่เมื่อใช้กลยุทธ์การกำหนดเส้นทางเส้นทางที่สั้น |
RouteCalloutInfoFormat.TIME | แสดงเวลาที่เหลือ |
RouteCalloutInfoFormat.DISTANCE | แสดงระยะทางที่เหลืออยู่ |
ตัวอย่าง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีกำหนดค่ารูปแบบข้อความไฮไลต์ของเส้นทาง
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);