Quản lý điểm tham chiếu

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 tham chiếu cho ứng dụng của mình bằng cách sử dụng hai tính năng:

  • Lựa chọn ưu tiên về tuyến đường theo bên đường
  • Điểm dừng chân

Đặt lựa chọn ưu tiên về tuyến đường theo bên đường

Theo mặc định, SDK Điều hướng 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 đúng bên đường mong muốn, chẳng hạn như bên đường mà khách hàng của tài xế đi chung xe đang đợi. Tính năng Lựa chọn ưu tiên về tuyến đường bên đường giúp bạn đảm bảo rằng 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 cùng một bên đường

Bạn cung cấp toạ độ địa lý của điểm tham chiếu, sau đó đặt cờ preferSameSideOfRoad cho biết rằng bạn muốn đến cùng một bên đường với điểm tham chiếu – được bám vào 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 khớp với hướng của luồng giao thông ở cùng phía đường với điểm đến.

(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
                                  title:(NSString *)title
                preferredSegmentHeading:(int32_t)preferredSegmentHeading;

SDK chỉ đường 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 bên đường có điểm tham chiếu.

Đặt lựa chọn ưu tiên về điểm dừng

Ở một số nơi, người dùng không thể dừng xe an toàn (ví dụ: khu vực trên cao, phà, địa điểm dưới lòng đất và các khu vực khác có lối vào hạn chế). Tính năng Điểm dừng sẽ di dời điểm tham chiếu đến một địa điểm lân cận nếu vị trí của điểm tham chiếu đó không phù hợp để người dùng dừng lại. Khi bạn đặt vehicleStopover thành YES, điểm tham chiếu sẽ tự động được di dời khi tuyến đường được tính toán, nếu có một vị trí thay thế.

Cách hoạt động

Bạn đặt lựa chọn ưu tiên cho một điểm dừng 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 đ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){...}];