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 trung gian cho ứng dụng bằng cách sử dụng hai tính năng:

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

Đặt lựa chọn ưu tiên về đường đi

Theo mặc định, SDK chỉ đường cho iOS sẽ tìm tuyến đường nhanh nhất đến một điểm trung gian. Tuy nhiên, điều này không đảm bảo rằng người dùng sẽ đến đúng phía đường mong muốn, ví dụ: phía đường mà khách hàng của tài xế đi chung xe đang chờ. Tính năng Lựa chọn ưu tiên về tuyến đường theo bên đường cho phé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 để đến một bên đường cụ thể khi tạo điểm trung gian cho điểm dừng đó. Bạn có thể chỉ định tuỳ chọn này 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 trung gian, sau đó đặt cờ preferSameSideOfRoad cho biết bạn muốn đến cùng một bên đường với điểm trung gian – được chụp nhanh vào vỉa hè gần nhất.

(nullable instancetype)initWithLocation:(CLLocationCoordinate2D)location
                                  title:(NSString *)title
                   preferSameSideOfRoad:(BOOL)preferSameSideOfRoad;

Tiêu đề phân khúc ưu tiên

Bạn cung cấp toạ độ địa lý của điểm trung gian, sau đó cung cấp hướng đến đích preferredSegmentHeading khớp với hướng lưu lượng giao thông ở cùng một bên đường với đích đến.

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

SDK Điều hướng chọn đoạn đường gần nhất với điểm trung gian – có hướng làn đường phù hợp (trong phạm vi +/- 55 độ) với bên đường mà điểm trung gian nằm trên đó.

Đặ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 lại một cách an toàn (ví dụ: các khu vực trên cao, phà, vị trí dưới lòng đất và các khu vực khác có hạn chế về quyền truy cập). Tính năng Điểm dừng sẽ di chuyển điểm trung gian đến một địa điểm lân cận nếu vị trí của điểm trung gian đó không phù hợp để người dùng dừng lại. Khi bạn đặt vehicleStopover thành YES, điểm trung gian sẽ tự động được di chuyển khi tính toán tuyến đường, 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 trung gian 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 chân 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){...}];