How to check that user has arrive the destination on Mapbox SDK?

Viewed 147

Is there any delegate method of Mapbox NavigationViewController that trigger when user arrive the destination? Because I found that when the destination really close with iPhone/user location, the map view of NavigationViewController will entire map. But when I tapped on the top banner of NavigationViewController to show route step then tapped again to dismiss the map was show as the MGLMapCamera was set. I've try to user method navigationViewController(_ navigationViewController: NavigationViewController, didArriveAt waypoint: Waypoint) -> Bool to check if iPhone/user reach the destination it will show a showEndOfRouteFeedback but it didn't work. This happen only the user location is really close to the destination, other case is work properly.

image #1 shows that user has arrived the destination with full entire map.

image #2 tap on NavViewController's top bar.

image #3 After dismiss NavViewController's top bar.

Here is my code when user tap on the callout.

func mapView(_ mapView: MGLMapView, tapOnCalloutFor annotation: MGLAnnotation) {
    guard let route = route, let routeOptions = routeOptions else { return }
    let navVC = NavigationViewController(for: route, routeIndex: 0, routeOptions: routeOptions)
    let camera = MGLMapCamera(lookingAtCenter: userCurrentLocation, altitude: 0, pitch: 0, heading: 0)
    navVC.modalPresentationStyle = .fullScreen
    navVC.automaticallyAdjustsStyleForTimeOfDay = true
    navVC.pendingCamera = camera
    navVC.routeLineTracksTraversal = true
    self.present(navVC, animated: true, completion: nil) 
}
1 Answers

In my case, I just update all cocoapod in my project and run again.

Related