เอกสารนี้อธิบายวิธีจัดการค่ากำหนดจุดอ้างอิงสำหรับแอปโดยใช้ 2 ฟีเจอร์ ได้แก่
- ค่ากำหนดการกำหนดเส้นทางด้านข้างถนน
- จุดแวะพัก
ตั้งค่ากำหนดการกำหนดเส้นทางด้านข้างถนน

โดยค่าเริ่มต้น Navigation SDK for iOS จะค้นหาเส้นทางที่เร็วที่สุดไปยังจุดอ้างอิง แต่ไม่ได้การันตีว่าผู้ใช้จะไปถึงจุดอ้างอิงที่อยู่ด้านข้างถนนที่ต้องการ เช่น ด้านข้างถนนที่ลูกค้าของคนขับรถร่วมเดินทางรออยู่ ฟีเจอร์ค่ากำหนดการกำหนดเส้นทางด้านข้างถนน ช่วยให้คุณมั่นใจได้ว่ายานพาหนะจะไปถึงด้านข้างถนนที่ถูกต้อง
วิธีการทำงาน
คุณตั้งค่ากำหนดให้ไปถึงด้านข้างถนนที่ต้องการเมื่อสร้างจุดอ้างอิงสำหรับการหยุดนั้น โดยระบุค่ากำหนดได้ 1 ใน 2 วิธี
ต้องการด้านข้างถนนด้านเดียวกัน
คุณระบุพิกัดทางภูมิศาสตร์ของจุดอ้างอิง แล้วตั้งค่าแฟล็ก
preferSameSideOfRoad
ซึ่งระบุว่าคุณต้องการไปถึงด้านข้างถนนด้านเดียวกับ
จุดอ้างอิง โดยจะปักหมุดไว้ที่ทางเท้าที่ใกล้ที่สุด
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;
ตั้งค่าทิศทางที่ต้องการ
คุณระบุพิกัดทางภูมิศาสตร์ของจุดอ้างอิง แล้วระบุ
ทิศทางที่ต้องการ
preferredSegmentHeading
ซึ่งตรงกับทิศทางการจราจรด้านข้างถนนด้านเดียวกับ
ปลายทาง
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferredSegmentHeading:(int32_t)preferredSegmentHeading;
Navigation SDK จะเลือกส่วนของถนนที่ใกล้กับจุดอ้างอิงมากที่สุด ซึ่งมีทิศทางของเลนที่สอดคล้องกับด้านข้างถนนที่จุดอ้างอิงอยู่ (ภายใน +/- 55 องศา)
ตั้งค่ากำหนดจุดแวะพัก
ในบางสถานที่ ผู้ใช้ไม่สามารถหยุดรถได้อย่างปลอดภัย (เช่น พื้นที่สูง เรือข้ามฟาก สถานที่ใต้ดิน และพื้นที่อื่นๆ ที่มีการเข้าถึงจำกัด) ฟีเจอร์จุดแวะพัก จะย้ายจุดอ้างอิงไปยังสถานที่ใกล้เคียงหากสถานที่นั้นไม่เหมาะสำหรับผู้ใช้ในการหยุดรถ เมื่อตั้งค่า vehicleStopover เป็น YES ระบบจะย้ายจุดอ้างอิงโดยอัตโนมัติเมื่อคำนวณเส้นทาง หากมีสถานที่อื่น
วิธีการทำงาน
คุณตั้งค่ากำหนดจุดแวะพักเมื่อสร้างจุดอ้างอิงสำหรับการหยุดนั้น
โดยตั้งค่ากำหนดจุดแวะพักใน GMSNavigationMutableWaypoint ดังที่แสดงในตัวอย่างต่อไปนี้
Swift
let location = CLLocationCoordinate2D(latitude: 47.67, longitude: -122.20) let waypoint = GMSNavigationMutableWaypoint(location: location, title: "waypoint from location")! waypoint.vehicleStopover = true mapView.navigator?.setDestinations([waypoint], routingOptions: routingOptions, callback: {...})
Objective-C
CLLocationCoordinate2D location = CLLocationCoordinate2DMake(47.67, -122.20); GMSNavigationMutableWaypoint *waypoint = [[GMSNavigationMutableWaypoint alloc] initWithLocation:location title:@"waypoint from location"]; waypoint.vehicleStopover = YES; [_mapView.navigator setDestinations:@[waypoint1] routingOptions:routingOptions callback:^(GMSRouteStatus routeStatus){...}];