Мне нужна помощь в выяснении этого, я интегрировал Mapbox Navigation в приложение iOS, все работает отлично.
За исключением того, что стандартная функциональность этого SDK заключается в том, что пользователь должен нажать на точку на карте, и навигация начнется к этому месту.
Мне нужно удалить эту стандартную функциональность ивместо него добавьте заранее заданную широту и долготу местоположения, чтобы автоматически установить для него навигацию.
Вот стандартная функция для выбора местоположения на карте и навигации по нему:
override func viewDidLoad() {
super.viewDidLoad()
// Add a gesture recognizer to the map view
let longPress = UILongPressGestureRecognizer(target: self, action: #selector(didLongPress(_:)))
}
@objc func didLongPress(_ sender: UILongPressGestureRecognizer) {
guard sender.state == .began else { return }
// Converts point where user did a long press to map coordinates
let point = sender.location(in: mapView)
//
let coordinate = mapView.convert(point, toCoordinateFrom: mapView)
// Create a basic point annotation and add it to the map
let annotation = MGLPointAnnotation()
annotation.coordinate = coordinate
annotation.title = "В Пути"
mapView.addAnnotation(annotation)
// Calculate the route from the user's location to the set destination
calculateRoute(from: (mapView.userLocation!.coordinate), to: annotation.coordinate) { (route, error) in
if error != nil {
Alert.showBasic(title: "Error!", message: "Error calculating route...", vc: self)
print("Error calculating route")
}
}
}
Я пытался изменить координаты таким образом:
let coordinate = CLLocationCoordinate2DMake(self.returnedLatitude as! CLLocationDegrees, self.returnedLongitude as! CLLocationDegrees)
Но это не сработало!Пожалуйста, помогите всем, кто использовал эту платформу раньше.