Ниже приведен код, который я использую для пошаговой навигации с помощью Mapbox.
let origin = Waypoint(coordinate: currentLocation.coordinate, name: "Your Location")
let pickUpLocation = Waypoint(coordinate: pickUpCoordinate, name: "Pickup Location")
let deliveryLocation = Waypoint(coordinate: dropOffCoordinate, name: "Dropoff Location")
let options = NavigationRouteOptions(coordinates: [origin, pickUpLocation, deliveryLocation])
Directions.shared.calculate(options) { (waypoints, routes, error) in
guard let route = routes?.first, error == nil else {
print(error!.localizedDescription)
return
}
let navigationController = NavigationViewController(for: route, navigationService: navigationService)
self.present(navigationController, animated: true, completion: nil)
}
Порядок указанных мной путевых точек - это origin (то есть текущее местоположение пользователя), за которым следуют pickUpLocation и deliveryLocation.Поэтому я ожидаю, что первый маршрут будет от местоположения пользователя до pickUpLocation.Однако иногда, если я нахожусь рядом с pickUpLocation и запускаю навигацию, Mapbox показывает мне маршрут от местоположения пользователя до deliveryLocation, пропуская pickUpLocation.
Как мне решить эту проблему?