问题描述
MapBox NavigationViewController 是否有任何在用户到达目的地时触发的委托方法?因为我发现当目的地真正接近 iPhone/用户位置时,NavigationViewController 的地图视图将整个地图。但是当我点击 NavigationViewController 的顶部横幅以显示路线步骤然后再次点击以关闭地图时显示为 MGLMapCamera 设置。我尝试使用用户方法 navigationViewController(_ navigationViewController: NavigationViewController,didArriveAt waypoint: Waypoint) -> Bool
来检查 iPhone/用户是否到达目的地,它会显示 showEndOfRouteFeedback
但它没有用。这种情况只发生在用户位置非常接近目的地,其他情况下正常工作。
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.
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)
}
解决方法
就我而言,我只是更新项目中的所有 cocoapod 并再次运行。