Skip to content

v2.9.0-rc.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@mapbox-github-ci-writer-public-1 mapbox-github-ci-writer-public-1 released this 04 Nov 15:04
· 4 commits to release-v2.9 since this release

Changes since v2.9.0-beta.4:

Map

  • Traffic lights, stop signs, yield signs, and railroad crossings now appear along the route during turn-by-turn navigation. To disable these icons, set the NavigationViewController.annotatesIntersectionsAlongRoute and CarPlayNavigationViewController.annotatesIntersectionsAlongRoute properties to false. (#4185)
  • Additional parameters were added to FloatingButton.rounded(image:selectedImage:size:type:imageEdgeInsets:cornerRadius) to be able to provide button type, button image edge insets and corner radius. (#4060, #4157)
  • FloatingButton no longer contains corner radius shadow, border is applied instead. (#4060)
  • Added the NavigationViewControllerDelegate.navigationViewController(_:didSelect:) and NavigationViewControllerDelegate.navigationViewController(_:didSelect:) methods that allow selection of the waypoint and continuous alternative. (#4175)
  • NavigationMapView.showcase(_:routesPresentationStyle:legIndex:animated:duration:completion:) now contains a legIndex parameter that allows highlighting one leg more prominently than other legs of the route. (#4211)
  • Fixed an issue where the route line with no traffic congestion data and multiple legs wasn't shown correctly. (#4217)

Preview

  • Added the PreviewViewController that along with the ability to display a route preview map allows to present banners with additional information. Such banners should conform to Banner protocol. The Mapbox Navigation SDK also provides default banners that allow to present address of the final destination (DestinationPreviewViewController) and route information like estimated time of arrival, total duration and distance (RoutePreviewViewController). The PreviewViewControllerDelegate protocol allows to observe Banner presentation and dismissal events. Seamless transition between PreviewViewController and NavigationViewController can be reached by using UIViewControllerTransitioningDelegate and replacing existing NavigationViewController.navigationMapView instance with the one that is used in PreviewViewController. (#4227, #4188)

Banners and guidance instructions

  • Fixed an issue where top and bottom banners were not presented when starting active navigation session. (#4222)

Location tracking

  • Fixed an issue where the user’s location history was sometimes matched to unnavigable paths, leading to unreliable location snapping. (#4191)
  • Fixed an issue where the RoadObjectMatcher.matchOpenLR(location:identifier:) method would incorrectly match some TPEG OpenLR identifiers. (#4191)
  • Added HistoryReader for parsing history files. (#4194)

Routing

  • IndexedRouteResponse is now the preferred way for setting up routing information for navigation. NavigationViewController, MapboxNavigationService, Router and RoutingProvider are updated to accomodate this change. (#4127)

User feedback

  • The MapboxMobileEvents dependency is no longer used. Feedback events are now handled by MapboxCommon. (#4011)
  • Deprecated NavigationEventsManager.init(activeNavigationDataSource:passiveNavigationDataSource:accessToken:mobileEventsManager:) in favor of NavigationEventsManager.init(activeNavigationDataSource:passiveNavigationDataSource:accessToken:). (#4011)

Predictive caching

  • Implemented predictive cache with TilesetDescriptor so that volatile sources are not loaded unexpectedly. (#4213)
  • Deprecated PredictiveCacheManager.init(predictiveCacheOptions:styleSourcePaths:) and PredictiveCacheManager.init(predictiveCacheOptions:mapOptions:) in favor of PredictiveCacheManager.init(predictiveCacheOptions:cacheMapOptions:). (#4213)
  • Added PredictiveCacheMapsOptions (map specific, that also allow to specify zoom levels for which the map tiles should be cached) and PredictiveCacheNavigationOptions (navigation specific) available through the PredictiveCacheOptions. (#4213)
  • Deprecated PredictiveCacheOptions.currentLocationRadius, PredictiveCacheOptions.routeBufferRadius, PredictiveCacheOptions.destinationLocationRadius, PredictiveCacheOptions.maximumConcurrentRequests. Use PredictiveCacheOptions.predictiveCacheNavigationOptions and PredictiveCacheOptions.predictiveCacheMapsOptions instead for separate predictive cache configuration for maps and navigation. (#4213)
  • Added PredictiveCacheManager.updateMapControllers(cacheMapOptions:) for cashing map styles after they are loaded. (#4213)

Other changes

  • Fixed an issue where the rerouting audio cue stopped background audio. (#3642)
  • Fixed an issue where the rerouting audio cue played even if RouteVoiceController.playRerouteSound was set to false. (#4214)
  • Added BorderCrossing.init(from:to:) to allow creation of BorderCrossing publicly. (#4226)

Documentation is available online or within Xcode.