ค่ากําหนดเส้นทางที่สั้นลง

เมื่อมีการคำนวณเส้นทาง (รวมถึงการเปลี่ยนเส้นทาง) ระบบจะแสดงเส้นทางที่ใช้เวลาน้อยที่สุดในการนำทางเป็นเส้นทางที่ดีที่สุดเริ่มต้น แต่คุณสามารถเปลี่ยนกลยุทธ์การกำหนดเส้นทางเพื่อให้ระบบแสดงเส้นทางสำรองที่สั้นกว่าแทน

คำว่าสั้นกว่าหมายความว่าเส้นทางนั้นสั้นที่สุดในผลลัพธ์ของการกำหนดเส้นทางที่ดีที่สุดตามรูปแบบค่าใช้จ่ายเริ่มต้นของเรา เส้นทางที่สั้นอาจไม่ใช่เส้นทางที่สั้นที่สุด เนื่องจากเส้นทางนั้นอาจเป็นทางเลือกที่ไม่ดี ตัวอย่างเช่น เมื่อเส้นทางที่สั้นที่สุดคือ 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);