v0.14.0
Breaking Changes
- Removed the dependency on AWSPolly. Voice announcements are now coming directly from Mapbox and for free for all developers. Because of this, PollyVoiceController has been removed. #617
- MapboxDirections.swift version 0.17.x is now required. #1085
- Removed the key
RouteControllerNotificationUserInfoKey.estimatedTimeUntilManeuverKeyfrom.routeControllerProgressDidChange. Please usedurationRemaininginstead which can be found on theRouteProgress. #1126 - Renamed notification names associated with
RouteControllerin Objective-C code. #1122 - The user info keys of
RouteController-related notifications have been renamed and are now members of theRouteControllerNotificationUserInfoKeystruct in Swift and theMBRouteControllerNotificationUserInfoKeyextensible enumeration in Objective-C. #1122
Here is reference for the new notification names:
| Swift | Objective-C | ||
|---|---|---|---|
| Old | New | Old | New |
Notification.Name.navigationSettingsDidChange |
Notification.Name.navigationSettingsDidChange |
MBNavigationSettingsDidChange |
MBNavigationSettingsDidChangeNotification |
Notification.Name.routeControllerProgressDidChange |
Notification.Name.routeControllerProgressDidChange |
MBRouteControllerNotificationProgressDidChange |
MBRouteControllerProgressDidChangeNotification |
Notification.Name.routeControllerDidPassSpokenInstructionPoint |
Notification.Name.routeControllerDidPassSpokenInstructionPoint |
MBRouteControllerDidPassSpokenInstructionPoint |
MBRouteControllerDidPassSpokenInstructionPointNotification |
Notification.Name.routeControllerWillReroute |
Notification.Name.routeControllerWillReroute |
MBRouteControllerWillReroute |
MBRouteControllerWillRerouteNotification |
Notification.Name.routeControllerDidReroute |
Notification.Name.routeControllerDidReroute |
MBRouteControllerDidReroute |
MBRouteControllerDidRerouteNotification |
Notification.Name.routeControllerDidFailToReroute |
Notification.Name.routeControllerDidFailToReroute |
MBRouteControllerDidFailToReroute |
MBRouteControllerDidFailToRerouteNotification |
RouteControllerProgressDidChangeNotificationProgressKey |
RouteControllerNotificationUserInfoKey.routeProgressKey |
MBRouteControllerProgressDidChangeNotificationProgressKey |
MBRouteControllerRouteProgressKey |
RouteControllerProgressDidChangeNotificationLocationKey |
RouteControllerNotificationUserInfoKey.locationKey |
MBRouteControllerProgressDidChangeNotificationLocationKey |
MBRouteControllerLocationKey |
RouteControllerProgressDidChangeNotificationSecondsRemainingOnStepKey |
🚮 (removed) | MBRouteControllerProgressDidChangeNotificationSecondsRemainingOnStepKey |
🚮 (removed) |
RouteControllerNotificationLocationKey |
RouteControllerNotificationUserInfoKey.locationKey |
MBRouteControllerNotificationLocationKey |
MBRouteControllerLocationKey |
RouteControllerNotificationRouteKey |
🚮 (unused) | MBRouteControllerNotificationRouteKey |
🚮 (unused) |
RouteControllerNotificationErrorKey |
RouteControllerNotificationUserInfoKey.routingErrorKey |
MBRouteControllerNotificationErrorKey |
MBRouteControllerRoutingErrorKey |
RouteControllerDidFindFasterRouteKey |
RouteControllerNotificationUserInfoKey.isOpportunisticKey |
MBRouteControllerDidFindFasterRouteKey |
MBRouteControllerIsOpportunisticKey |
RouteControllerDidPassSpokenInstructionPointRouteProgressKey |
RouteControllerNotificationUserInfoKey.routeProgressKey |
MBRouteControllerDidPassSpokenInstructionPointRouteProgressKey |
MBRouteControllerRouteProgressKey |
Core Navigation
- Location updates sent via
.routeControllerProgressDidChangeare now always sent as long as the location is qualified. #1126 - Exposes
setOverheadCameraView(from:along:for:)which is useful for fitting the camera to an overhead view for the remaining route coordinates. - Changed the heuristics needed for a the users location to unsnap from the route line. #1110
- Changes
routeController(:didDiscardLocation:)torouteController(:shouldDiscardLocation:). Now if implemented, developers can choose to keep a location when RouteController deems a location unqualified. #1095
User Interface
- Added a
NavigationMapView.localizeLabels()method that should be called withinMGLMapViewDelegate.mapView(_:didFinishLoading:)for standaloneNavigationMapViews to ensure that map labels are in the correct language. #1111 - The
/delimiter is longer shown when a shield is shown on either side of the delimiter. This also removes the dependency SDWebImage. #1046 - Exposes constants used for styling the route line. #1124
- Exposes
update(for:)onInstructionBannerView. This is helpful for developers creating a custom user interface. #1085
Voice Guidance
- Exposes
RouteVoiceController.speak(_:)which would allow custom subclass of MapboxVoiceController to override this method and pass a modified SpokenInstruction to our superclass implementation.
Documentation is available online or within Xcode.