本文档介绍如何使用以下两项功能管理应用的航点偏好设置:
- 道路一侧的路线偏好设置
- 中途停留
设置道路一侧的路线偏好设置

默认情况下,Navigation SDK for iOS 会查找前往航点的最快路线,但无法保证用户会到达道路的所需一侧,例如,拼车司机的客户等待的道路一侧。借助道路一侧的路线偏好设置 功能,您可以确保车辆到达道路的正确一侧。
运作方式
您可以在为该停靠点创建航点时,设置到达道路特定一侧的偏好设置。您可以通过以下两种方式之一指定偏好设置。
首选道路的同一侧
您提供航点的地理坐标,然后设置一个标志
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){...}];