Navigation SDK สำหรับ iOS มีวิธีที่ดียิ่งขึ้นในการระบุจุดแวะพัก ซึ่งช่วยให้
การกำหนดเส้นทางแม่นยำยิ่งขึ้นและผู้ใช้ได้รับประสบการณ์การมาถึงที่ดีขึ้น โดยเฉพาะ
จุดหมายที่มีทางเข้าหลายทางหรือจุดเข้าถึงที่เฉพาะเจาะจง คุณสามารถไปยัง
สถานที่ตั้งที่แน่นอนได้โดยใช้ navigationPointToken หรือโดยการรวมพิกัด
สถานที่ตั้งกับรหัสสถานที่เพื่อเพิ่มบริบท
ระบบจะยังคงไฮไลต์จุดหมายต่อไปหาก เกี่ยวข้อง
ฉากหลัง
ก่อนเวอร์ชัน 10.10 คุณสามารถกำหนด Waypoint โดยใช้พิกัดตำแหน่ง
หรือรหัสสถานที่ แม้ว่าบางครั้งการกำหนดเส้นทางไปยังละติจูดและลองจิจูดเพียงอย่างเดียวอาจได้ผล แต่บางครั้งก็อาจทำให้จุดส่งหรือจุดรับไม่เหมาะสม โดยเฉพาะอย่างยิ่งสำหรับสถานที่ขนาดใหญ่ สวนสาธารณะ หรืออาคารที่มีทางเข้าหลายทาง ผลลัพธ์อาจยึดตามส่วนถนนที่ใกล้ที่สุด ซึ่งอาจไม่ใช่จุดเข้าถึงที่สะดวกที่สุดหรือถูกต้อง
ตัวเลือกจุดอ้างอิงที่ปรับปรุงแล้วจะช่วยแก้ปัญหานี้ด้วยการให้คุณระบุบริบทเพิ่มเติม
ใช้โทเค็นจุดนำทาง
หากต้องการกำหนดเส้นทางไปยังจุดเข้าถึงที่เฉพาะเจาะจง เช่น ทางเข้า ท่าเทียบเรือ หรือพื้นที่รับสินค้าที่กำหนด ได้อย่างแม่นยำที่สุด คุณสามารถใช้ navigationPointToken ได้
โทเค็นนี้ได้มาจากการเรียกใช้เมธอดปลายทางของ Geocoding API แสดงถึงจุดนำทางที่เฉพาะเจาะจงและกำหนดเส้นทางได้ซึ่งเชื่อมโยงกับสถานที่
วิธีกำหนดโทเค็นจุดนำทาง
รับ
navigationPointTokenจากการตอบกลับเมธอดปลายทางของ Geocoding APIระบุว่า
navigationPointTokenเมื่อสร้างGMSNavigationWaypoint
หมายเหตุ: คุณระบุโทเค็นจุดนำทางพร้อมกับ ตำแหน่งและ PlaceID พร้อมกันไม่ได้
Swift
// Create a waypoint using a navigation endpoint token
let waypointTwo = GMSNavigationWaypoint(
navigationPointToken: "ChIJALijSXPhQkARHmIozCCbXsASEgkFVjYHGH6PgBFrbM7wl3.."
title: "Sydney Opera House")
// Route to the waypoint
navigator.setDestinations([waypointTwo]) { [weak self] routeStatus in
self?.handleRouteCallback(status: routeStatus)
}
Objective-C
GMSNavigationWaypoint *waypointTwo = [[GMSNavigationWaypoint alloc] initWithNavigationPointToek:@"sampleNavigationPointToken"
รวมรหัสสถานที่และตำแหน่ง
ตั้งแต่เวอร์ชัน 10.10 เป็นต้นไป คุณจะระบุทั้งรหัสสถานที่และพิกัดของสถานที่ได้ เมื่อสร้างจุดอ้างอิง วิธีนี้มีประโยชน์เมื่อคุณต้องการระบุ จุดที่แน่นอน (ตำแหน่ง) ในขณะที่ยังคงให้บริบทของสถานที่โดยรวม (รหัสสถานที่) ซึ่งช่วยให้ Navigation SDK มอบประสบการณ์การมาถึงที่ดียิ่งขึ้นได้ด้วยการไฮไลต์อาคารปลายทางหรือแสดงจุดที่น่าสนใจใกล้เคียงที่เกี่ยวข้องกับรหัสสถานที่
Swift
// Create a waypoint using both the latlng and placeID
let waypoint = GMSNavigationWaypoint(
location: CLLocationCoordinate2DMake(-33.85657945261524, 151.21535034203333),
placeID: "ChIJ3S-JXmauEmsRUcIaWtf4MzE",
title: "Sydney Opera House")
// Route to the waypoint
navigator.setDestinations([waypoint]) { [weak self] routeStatus in
self?.handleRouteCallback(status: routeStatus)
}
Objective-C
CLLocationCoordinate2D location = CLLocationCoordinate2DMake(47.67, -122.20);
GMSNavigationWaypoint *waypoint = [[GMSNavigationWaypoint alloc] initWithLocation:placeID:coordinate title:@"waypoint from location and placeiD"];
ข้อควรพิจารณา
สิ่งที่จะเกิดขึ้นเมื่อคุณระบุทั้ง placeID และ location
- เส้นทางนี้มุ่งเน้นไปที่
locationที่ระบุเป็นหลัก placeIdจะใช้เป็นบริบทเพื่อปรับปรุงประสบการณ์การมาถึง- การสำรอง: หาก SDK ระบุว่า
placeIdที่ระบุสอดคล้อง กับฟีเจอร์ที่อยู่ไกลจากlocationที่ระบุมากเกินไป ระบบจะ ไม่สนใจplaceIdในสถานการณ์นี้ การกำหนดเส้นทางจะไปยังlocationเท่านั้น และจะไม่สามารถใช้การปรับปรุงประสบการณ์การมาถึงที่เฉพาะเจาะจงสถานที่ได้
สรุปการกำหนดค่าจุดอ้างอิงที่ถูกต้อง
| ข้อมูลจำเพาะ | location |
placeID |
navigationPointToken |
ลักษณะการกำหนดเส้นทาง | การไฮไลต์ปลายทาง |
|---|---|---|---|---|---|
| พิกัดของสถานที่ตั้งเท่านั้น | ตั้งค่า | ไม่ได้ระบุ | ไม่ได้ระบุ | เส้นทางไปยังส่วนถนนที่ใกล้กับพิกัดที่กำหนดมากที่สุด | แสดงหากอนุมานปลายทางได้อย่างมั่นใจสูง |
| รหัสสถานที่เท่านั้น | ไม่ได้ระบุ | ตั้งค่า | ไม่ได้ระบุ | เส้นทางไปยังจุดนำทางเริ่มต้นสำหรับรหัสสถานที่ | รหัสสถานที่ต้นทาง |
| โทเค็นจุดนำทางเท่านั้น | ไม่ได้ระบุ | ไม่ได้ระบุ | ตั้งค่า | เส้นทางไปยังจุดนำทางที่แน่นอนซึ่งแสดงโดยโทเค็น | จากปลายทางที่กำหนดไว้ในคำขอเมธอดปลายทางเดิมของ Geocoding API |
| รวมพิกัดของสถานที่ตั้งและรหัสสถานที่ | se | ตั้งค่า | ไม่ได้ระบุ | เส้นทางไปยังส่วนถนนที่ใกล้กับพิกัดที่กำหนดมากที่สุด | จากรหัสสถานที่ แม้ว่าจะไม่แสดงหากรหัสสถานที่อยู่ไกลจากพิกัดละติจูด/ลองจิจูดมากเกินไป |