本文件說明如何使用兩項功能管理應用程式的路線控點偏好設定:
- 道路轉送偏好設定的一側
- 停靠站
道路路線偏好設定的另一側
根據預設,Navigation SDK for iOS 會找出前往路線點的最快路線,但無法保證使用者一定會抵達所需的道路,例如代僱駕駛司機顧客正在等候的道路側面。您可以透過「Side of the Road Route Preference」(道路轉送偏好設定) 功能,確保車輛抵達正確的道路一側。
運作方式
為停靠站建立路線控點時,您可以調整抵達道路特定側的偏好設定。您可以透過下列任一方式指定偏好設定。
偏好道路同側
您需要提供路線控點的地理座標,然後設定 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){...}];