Navigation SDK สำหรับ Android มีวิธีที่ดียิ่งขึ้นในการระบุจุดแวะพัก
ซึ่งช่วยให้การกำหนดเส้นทางแม่นยำยิ่งขึ้นและประสบการณ์การมาถึงที่ดีขึ้น โดยเฉพาะอย่างยิ่งสำหรับ
จุดหมายที่มีทางเข้าหลายทางหรือจุดเข้าถึงที่เฉพาะเจาะจง คุณกำหนดเส้นทางไปยังสถานที่ที่แน่นอนได้โดยใช้ navigationPointToken หรือโดยการรวมพิกัดละติจูดและลองจิจูดกับรหัสสถานที่เพื่อเพิ่มบริบท
ระบบจะยังคงไฮไลต์จุดหมายต่อไปหากเกี่ยวข้อง
ฉากหลัง
ก่อนเวอร์ชัน 7.4 คุณสามารถกำหนด Waypoint โดยใช้พิกัดละติจูดและลองจิจูดหรือรหัสสถานที่ แม้ว่าการกำหนดเส้นทางไปยังละติจูดและลองจิจูดเพียงอย่างเดียวจะมีประสิทธิภาพสำหรับกรณีการใช้งานส่วนใหญ่ แต่ในบางครั้งอาจทำให้จุดรับหรือจุดส่งไม่เหมาะสม โดยเฉพาะอย่างยิ่งสำหรับสถานที่ขนาดใหญ่ สวนสาธารณะ หรืออาคารที่มีทางเข้าหลายทาง ผลลัพธ์อาจสแนปไปยังส่วนถนนที่ใกล้ที่สุด ซึ่งอาจไม่ใช่จุดเข้าถึงที่สะดวกที่สุดหรือถูกต้อง
ตัวเลือกจุดอ้างอิงที่ได้รับการปรับปรุงจะช่วยแก้ปัญหานี้ด้วยการให้บริบทเพิ่มเติม
รวมรหัสสถานที่กับละติจูดและลองจิจูด
ตั้งแต่เวอร์ชัน 7.4 เป็นต้นไป คุณจะระบุทั้งรหัสสถานที่และพิกัดละติจูดและลองจิจูดได้เมื่อสร้าง Waypoint วิธีนี้มีประโยชน์เมื่อคุณต้องการ
ระบุจุดที่แน่นอน (ละติจูด/ลองจิจูด) ในขณะที่ยังคงให้บริบทของ
สถานที่โดยรวม (รหัสสถานที่) ซึ่งจะช่วยให้ Navigation SDK มอบประสบการณ์การมาถึงที่ดียิ่งขึ้นได้ด้วยการไฮไลต์อาคารปลายทางหรือแสดงจุดที่น่าสนใจใกล้เคียงที่เกี่ยวข้องกับรหัสสถานที่
// Assuming 'placeId' is the Place ID String
// Assuming 'lat' and 'lng' are the double values for latitude and longitude
// Assuming 'destinationName' is a String title for the waypoint
Waypoint waypointWithPlaceIdAndLatLng = Waypoint.builder()
.setTitle(destinationName)
.setPlaceIdString(placeId)
.setLatLng(lat, lng)
.build();
// Use this waypoint in navigator.setDestinations()
ข้อควรพิจารณา
สิ่งที่จะเกิดขึ้นเมื่อคุณระบุทั้งplaceIdและlatlng
- เส้นทางนี้มุ่งเน้นไปที่
latlngที่ระบุเป็นหลัก placeIdจะใช้เป็นบริบทเพื่อปรับปรุงประสบการณ์การเดินทางมาถึง- การสำรองข้อมูล: หาก SDK ระบุว่า
placeIdที่ระบุ สอดคล้องกับฟีเจอร์ที่อยู่ไกลจากlatlngที่ระบุมากเกินไป ระบบจะ ไม่สนใจplaceIdในกรณีนี้ การกำหนดเส้นทางจะไปยังlatlngเท่านั้น และการปรับปรุงประสบการณ์การมาถึงที่เฉพาะเจาะจงจะไม่พร้อมใช้งาน
ใช้โทเค็นจุดนำทาง
หากต้องการกำหนดเส้นทางไปยังจุดเข้าถึงที่เฉพาะเจาะจง เช่น ทางเข้า ท่าเทียบเรือ หรือพื้นที่รับสินค้าที่กำหนด คุณสามารถใช้ navigationPointToken ได้ คุณจะได้รับโทเค็นนี้โดยการเรียกเมธอดปลายทางของ Geocoding API
ซึ่งแสดงถึงจุดนำทางที่เฉพาะเจาะจงและกำหนดเส้นทางได้ซึ่งเชื่อมโยงกับสถานที่
วิธีกำหนดโทเค็นจุดนำทาง
- รับ
navigationPointTokenจากการตอบกลับเมธอดปลายทางของ Geocoding API - สร้าง
Waypointโดยใช้เมธอดsetNavigationPointToken()ใน เครื่องมือสร้าง
หมายเหตุ: เมื่อใช้ setNavigationPointToken() คุณจะใช้
setLatLng() หรือ setPlaceIdString() พร้อมกันไม่ได้ วิธีการเหล่านี้จะใช้ร่วมกับ
setNavigationPointToken() ไม่ได้
// Assuming 'navPointToken' is a String obtained from the destinations method of the Geocoding API
// Assuming 'destinationName' is a String title for the waypoint
Waypoint waypointWithToken = Waypoint.builder()
.setTitle(destinationName)
.setNavigationPointToken(navPointToken)
.build();
// Use this waypoint in navigator.setDestinations()
สรุปการกำหนดค่าจุดอ้างอิงที่ถูกต้อง
| วิธีการ | setLatLng() |
setPlaceIdString() |
setNavigationPointToken() |
ลักษณะการกำหนดเส้นทาง | การไฮไลต์ปลายทาง |
|---|---|---|---|---|---|
| LatLng เท่านั้น | ตั้งค่า | ไม่ได้ระบุ | ไม่ได้ระบุ | เส้นทางไปยังส่วนถนนที่ใกล้กับพิกัดที่กำหนดมากที่สุด | ไม่แสดง |
| รหัสสถานที่เท่านั้น | ไม่ได้ระบุ | ตั้งค่า | ไม่ได้ระบุ | เส้นทางไปยังจุดเข้าถึงเริ่มต้นสำหรับรหัสสถานที่ | จาก PlaceID |
| โทเค็นจุดนำทางเท่านั้น | ไม่ได้ระบุ | ไม่ได้ระบุ | ตั้งค่า | เส้นทางไปยังจุดเข้าถึงที่แน่นอนซึ่งแสดงโดยโทเค็น | จากปลายทางที่กำหนดไว้ในคำขอเมธอดปลายทางเดิมของ Geocoding API |
| รวม LatLng และรหัสสถานที่ | ตั้งค่า | ตั้งค่า | ไม่ได้ระบุ | เส้นทางไปยังส่วนถนนที่ใกล้กับพิกัดที่กำหนดมากที่สุด | จาก PlaceID แม้ว่าจะไม่แสดงหาก PlaceID อยู่ไกลจาก LatLng มากเกินไป |