Tài liệu này mô tả cách bạn có thể quản lý các lựa chọn ưu tiên về điểm đánh dấu cho ứng dụng của mình bằng cách sử dụng 2 tính năng:
- Lựa chọn ưu tiên về định tuyến theo bên đường
- Quá cảnh
Đặt lựa chọn ưu tiên về định tuyến theo lề đường
Theo mặc định, Navigation SDK cho iOS sẽ tìm tuyến đường nhanh nhất đến một điểm tham chiếu, tuy nhiên, điều này không đảm bảo rằng người dùng sẽ đến được phía đường mong muốn, chẳng hạn như phía đường mà khách hàng của người lái xe đi chung đang chờ. Tính năng Lựa chọn ưu tiên về hướng đi trên đường giúp bạn đảm bảo xe đến đúng bên đường.
Cách hoạt động
Bạn đặt lựa chọn ưu tiên cho việc đến một bên đường cụ thể khi tạo điểm tham chiếu cho điểm dừng đó. Bạn có thể chỉ định lựa chọn ưu tiên theo một trong hai cách.
Ưu tiên đi cùng một bên đường
Bạn cung cấp toạ độ địa lý của điểm tham chiếu, sau đó đặt một cờ preferSameSideOfRoad
cho biết rằng bạn muốn đến cùng phía đường với điểm tham chiếu (được điều chỉnh cho khớp với vỉa hè gần nhất).
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;
Đặt hướng đến
Bạn cung cấp toạ độ địa lý của điểm tham chiếu, sau đó cung cấp hướng đến preferredSegmentHeading
trùng khớp với hướng lưu lượng truy cập ở cùng một bên đường với đích đến.
(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
title:(NSString *)title
preferredSegmentHeading:(int32_t)preferredSegmentHeading;
Navigation SDK sẽ chọn đoạn đường gần điểm tham chiếu nhất, có hướng làn đường phù hợp (trong phạm vi +/- 55 độ) với phía đường mà điểm tham chiếu nằm trên đó.
Đặt lựa chọn ưu tiên về chuyến bay quá cảnh
Ở một số nơi, người dùng không thể dừng xe một cách an toàn (ví dụ: khu vực trên cao, phà, địa điểm dưới lòng đất và những khu vực khác có hạn chế về việc tiếp cận). Tính năng Điểm dừng sẽ di chuyển điểm đánh dấu đến một địa điểm gần đó nếu vị trí của điểm đánh dấu đó không phù hợp để người dùng dừng chân. Khi bạn đặt vehicleStopover
thành YES
, điểm đánh dấu sẽ tự động được di chuyển khi tuyến đường được tính toán, nếu có vị trí thay thế.
Cách hoạt động
Bạn đặt lựa chọn ưu tiên cho điểm dừng chân khi tạo điểm tham chiếu cho điểm dừng đó.
Để thực hiện việc này, hãy đặt lựa chọn ưu tiên cho một điểm dừng trên GMSNavigationMutableWaypoint
như trong ví dụ sau:
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){...}];