RouteResponse.refreshTTL into account when refreshing a route. Now it will no longer be possible to attmept to refresh and outdated route, and Router will inform that current route has expired using RouterDelegate.routerDidFailToRefreshExpiredRoute(:_) method. (#4672)StepsViewController after reroutes when using a custom top bar. (#4716)Documentation is available online or within Xcode.
previewRoutes(to destination: Waypoint) async in CarPlayManager.previewRoutes(between waypoints: [Waypoint]) async in CarPlayManager.previewRoutes(for options: RouteOptions) async in CarPlayManager.MapMatchingState.location. Switch to MapMatchingState.enhancedLocation if you need a map-matched location.NavigatorErrors.UnexpectedNavigationStatus is now public.SAME_TIME label localization.NavigationRoutes when switching to an alternative and an invalid fork point was found.Documentation is available online or within Xcode.
CarPlayManager.routePreview() method.CarPlayViewportDataSource.currentNavigationCameraOptions property is now read-write to provide a way to change navigation camera options in CarPlay.RouteProgress was updated.RouteVoiceController is now strongly stored after the first instantiation to avoid creating multiple instances.Tracepoint.waypointIndex is now an optional property.LocalizationManager to support the ability to provide custom localization for specific strings in the SDK when LocalizationManager.customLocalizationBundle is set.NavigationLocationManager subclassing posibilities by opening the some members to public visibility or overriding.AlternativesStatus.Events.SwitchedToAlternative event to track when the navigator switched to the alternative route.Documentation is available online or within Xcode.
CarPlayViewportDataSource.currentNavigationCameraOptions property is now read-write to provide a way to change navigation camera options in CarPlay.LocalizationManager to support the ability to provide custom localization for specific strings in the SDK when LocalizationManager.customLocalizationBundle is set.NavigationLocationManager subclassing posibilities by opening the some members to public visibility or overriding.AlternativesStatus.Events.SwitchedToAlternative event to track when the navigator switched to the alternative route.CarPlayManager.routePreview() function for iOS 14+.
Documentation is available online or within Xcode.CarPlayManager.routePreview() method.RouteProgress was updated.RouteVoiceController is now strongly stored after the first instantiation to avoid creating multiple instances.Tracepoint.waypointIndex is now an optional property.CarPlaySearchController conformance to CPListTemplateDelegate is deprecated in favor of CPListItem.handler.NavigationMapViewDelegate.navigationMapView(_:willAdd:), NavigationViewControllerDelegate.navigationViewController(_:willAdd:), and CarPlayManagerDelegate.carPlayManager(_:willAdd:for:) to modify the properties of the default layer which will be added to the map view during navigation.NavigationMapView.showsRelativeDurationsOnAlternativeManuever flag to toggle ETA callouts displaying during Active Guidance.NavigationMapViewDelegate.navigationMapView(_:,didAddRedrawActiveGuidanceRoutes:) method to monitor when view has refreshed the routes in Active Guidance.GeometryFramingAfterManeuver.distanceToFrameAfterManeuver is set.NavigationRoutes.refreshInvalidationDate property and RefreshingStatus.Invalidated event to track when route refreshing has expired and new route request is required.ActiveNavigationFeedbackType enum case .arrival(rating:).HistoryReplayController wrapped as a custom static LocationClient.historyReplayingValue(with:), which allows replaying history files.Directions.url(forCalculating:credentials:httpMethod:) for generating a request URL without creating the Directions instance.CongestionRangesConfiguration.default for RouteProgress.init(navigationRoutes:waypoints:congestionConfiguration:) constructor.CarPlayManager fix problem with dismiss preview mode.NavigationController.errors.RouteAlert.distanceToStart when active guidance is in progress.FasterRouteDetectionConfig.CarPlayManager.routePreview() function.NavigationController.errors.Changes since v3.1.0:
CarPlaySearchController conformance to CPListTemplateDelegate is deprecated in favor of CPListItem.handler.NavigationMapViewDelegate.navigationMapView(_:willAdd:), NavigationViewControllerDelegate.navigationViewController(_:willAdd:), and CarPlayManagerDelegate.carPlayManager(_:willAdd:for:) to modify the properties of the default layer which will be added to the map view during navigation.NavigationMapView.showsRelativeDurationsOnAlternativeManuever flag to toggle ETA callouts displaying during Active Guidance.NavigationMapViewDelegate.navigationMapView(_:,didAddRedrawActiveGuidanceRoutes:) method to monitor when view has refreshed the routes in Active Guidance.NavigationRoutes.refreshInvalidationDate property and RefreshingStatus.Invalidated event to track when route refreshing has expired and new route request is required.ActiveNavigationFeedbackType enum case .arrival(rating:).HistoryReplayController wrapped as a custom static LocationClient.historyReplayingValue(with:), which allows replaying history files.Directions.url(forCalculating:credentials:httpMethod:) for generating a request URL without creating the Directions instance.CongestionRangesConfiguration.default for RouteProgress.init(navigationRoutes:waypoints:congestionConfiguration:) constructor.Changes since v3.1.0:
Changes since v3.0.2:
NavigationView after trait collection changed.NavigationMapView.circleLayer, symbolLayer, and shape for intermediate waypoints in NavigationMapView, NavigationViewController, CarPlayManager, CarPlayNavigationViewController.routeLineLayer, routeCasingLineLayer, and routeRestrictedAreasLineLayer in NavigationMapView, NavigationViewController, CarPlayManager, CarPlayNavigationViewController.heading to NavigationView.heading in PreviewOptions.CarPlayMapViewController and CarPlayNavigationViewController.NavigationViewController in the storyboard.MapboxNavigator.routeProgress publisher did not include alternative routes updates.NavigationViewController.NavigationViewControllerDelegate.navigationViewController(_:didArriveAt:) method calls for one arrival.AlternativeRoutesDetectionConfig.refreshesAfterPassingDeviation. This feature no longer has any effect.AlternativeRoutesDetectionConfig.refreshesWhenNoAvailableAlternatives. This feature no longer has any effect other then
setting the refresh interval. Use AlternativeRoutesDetectionConfig.refreshIntervalSeconds instead to configure the
refresh interval directly.RouteProgress.routeIsComplete after the user drive past the destination further away.NavigationMapView.circleLayer, symbolLayer, and shape for intermediate waypoints in NavigationMapView, NavigationViewController, CarPlayManager, CarPlayNavigationViewController.routeLineLayer, routeCasingLineLayer, and routeRestrictedAreasLineLayer in NavigationMapView, NavigationViewController, CarPlayManager, CarPlayNavigationViewController.heading to NavigationView.heading in PreviewOptions.NavigationViewController in the storyboard.MapboxNavigator.routeProgress publisher did not include alternative routes updates.NavigationViewController through init?(coder:) now does not create MapboxNavigationProvider instance. It should be provided through NavigationOptions using prepareViewLoading(navigationRoutes:navigationOptions:).AlternativeRoutesDetectionConfig.refreshesAfterPassingDeviation. This feature no longer has any effect.AlternativeRoutesDetectionConfig.refreshesWhenNoAvailableAlternatives. This feature no longer has any effect other then
setting the refresh interval. Use AlternativeRoutesDetectionConfig.refreshIntervalSeconds instead to configure the
refresh interval directly.RouteProgress.routeIsComplete after the user drive past the destination further away.NavigationViewController that caused a crash upon arrival.NavigationViewControllerDelegate.navigationViewController(_:didArriveAt:) was called multiple times for a single arrival.NavigationMapView DocC.WayNameView.NavigationViewControllerDelegate.navigationViewController(_:roadNameAt:).NavigationRoutes initialization.DayStyle and NightStyle colors were not being applied to DistanceRemainingLabel, FeedbackViewController, CarPlayCompassView, and ArrivalTimeLabel.NavigationViewControllerDelegate.navigationViewController(_:didArriveAt:) method that is called when the user arrives at the destination waypoint for a route leg.