Releases: mapbox/mapbox-navigation-ios
Releases · mapbox/mapbox-navigation-ios
v0.17.0-beta.1
- Upgraded to the Mapbox Maps SDK for iOS v4.0.0. If you have customized the route map’s appearance, you may need to migrate your code to use expressions instead of style functions. (#1076)
NavigationViewControllerDelegate.navigationViewControllerDidCancelNavigation(_:)has been superseded byNavigationViewControllerDelegate.navigationViewControllerDidEndNavigation(_:cancelled:). #1318RouteController’srouteProgressis now exposed to Objective-C. #1323- Exit indications are now drawn accurately with a correct exit bearing. #1288
- Added a delegate method,
NavigationViewControllerDelegate.navigationViewController(_:roadNameAt:)which allows you to customize the contents of the road name label displayed towards the bottom of the map view. #1309
To install this prerelease via CocoaPods, point your Podfile to both of these URLs:
pod 'MapboxCoreNavigation', :podspec => 'https://raw.githubusercontent.com/mapbox/mapbox-navigation-ios/v0.17.0-beta.1/MapboxCoreNavigation.podspec'
pod 'MapboxNavigation', :podspec => 'https://raw.githubusercontent.com/mapbox/mapbox-navigation-ios/v0.17.0-beta.1/MapboxNavigation.podspec'Or point your Cartfile to this tag:
github "mapbox/mapbox-navigation-ios" "v0.17.0-beta.1"
Documentation is available online or within Xcode.
v0.16.2
v0.16.1
User Interface
- Draws slight right and left turn icons for slight turns in the turn lane view. #1270
Core Navigation
- Fixed a crash that was caused by check the edit distance of an empty string. #1281
- Removes warnings when using Swift 4.1. #1271
Spoken Instruction
- Fixed an issue that would preemptively fallback to the default speech synthesizer. #1284
Documentation is available online or within Xcode.
v0.16.0
User interface
- While the user travels through a tunnel,
NavigationMapViewtemporarily applies a night style (a style whosestyleTypeproperty is set toStyleType.night). (#1127) - The user can reveal the list of upcoming steps by swiping downward from the top banner. (#1150)
- Renamed
StyleType.dayStyleandStyleType.nightStyletoStyleType.dayandStyleType.night, respectively. (#1250) - Fixed an issue causing the overview map to insist on centering the route upon each location update. (#1223)
- Improved the contrast of
TimeRemainingLabel.trafficSevereColoragainstBottomBannerView.backgroundColorinNightStyle. (#1228) - Fixed an issue where a slash appeared between two shields in the top banner. (#1169)
- Fixed an issue where using
NavigationMapViewControllerDelegate.navigationMapView(_:imageFor:)would not override the destination annotation. #1256
Spoken instructions
- Audio data for spoken instructions is cached in device storage to minimize data usage. (#12296)
Core Navigation
- Renamed the
RouteController.reroutesOpportunisticallyproperty toRouteController.reroutesProactively,RouteControllerOpportunisticReroutingIntervalglobal variable toRouteControllerProactiveReroutingInterval, and theRouteControllerNotificationUserInfoKey.isOpportunisticKeyvalue toRouteControllerNotificationUserInfoKey.isProactiveKey. (#1230) - Added a
RouteStepProgress.currentIntersectionproperty that is set to the intersection the user has most recently passed along the route. (#1127) - Fixed an issue where the
RouteStepProgress.upcomingIntersectionproperty was always set to the current step’s first intersection. (#1127) - Added support for using the Mapbox Map Matching API. #1177
Other changes
- Added Arabic and European Portuguese localizations. (#1252)
Documentation is available online or within Xcode.
v0.16.0-beta.1
User interface
- While the user travels through a tunnel,
NavigationMapViewtemporarily applies a night style (a style whosestyleTypeproperty is set toStyleType.night). (#1127) - The user can reveal the list of upcoming steps by swiping downward from the top banner. (#1150)
- Renamed
StyleType.dayStyleandStyleType.nightStyletoStyleType.dayandStyleType.night, respectively. (#1250) - Fixed an issue causing the overview map to insist on centering the route upon each location update. (#1223)
- Improved the contrast of
TimeRemainingLabel.trafficSevereColoragainstBottomBannerView.backgroundColorinNightStyle. (#1228) - Fixed an issue where a slash appeared between two shields in the top banner. (#1169)
- Fixed an issue where using
NavigationMapViewControllerDelegate.navigationMapView(_:imageFor:)would not override the destination annotation. #1256
Spoken instructions
- Audio data for spoken instructions is cached in device storage to minimize data usage. (#12296)
Core Navigation
- Renamed the
RouteController.reroutesOpportunisticallyproperty toRouteController.reroutesProactively,RouteControllerOpportunisticReroutingIntervalglobal variable toRouteControllerProactiveReroutingInterval, and theRouteControllerNotificationUserInfoKey.isOpportunisticKeyvalue toRouteControllerNotificationUserInfoKey.isProactiveKey. (#1230) - Added a
RouteStepProgress.currentIntersectionproperty that is set to the intersection the user has most recently passed along the route. (#1127) - Fixed an issue where the
RouteStepProgress.upcomingIntersectionproperty was always set to the current step’s first intersection. (#1127) - Added support for using the Mapbox Map Matching API. #1177
Other changes
- Added Arabic and European Portuguese localizations. (#1252)
Installation
To install this prerelease via CocoaPods, point your Podfile to both the following URLs:
pod 'MapboxCoreNavigation', :podspec => 'https://raw.githubusercontent.com/mapbox/mapbox-navigation-ios/v0.16.0-beta.1/MapboxCoreNavigation.podspec'
pod 'MapboxNavigation', :podspec => 'https://raw.githubusercontent.com/mapbox/mapbox-navigation-ios/v0.16.0-beta.1/MapboxNavigation.podspec'v0.15.0
Breaking changes
NavigationMapViewDelegateandRouteMapViewControllerDelegate:navigationMapView(_:didTap:)is nownavigationMapView(_:didSelect:)#1063- The Constants that concern Route-Snapping logic have been re-named. The new names are:
RouteSnappingMinimumSpeed,RouteSnappingMaxManipulatedCourseAngle, andRouteSnappingMinimumHorizontalAccuracy.
User interface
StepsViewController's convienence initalizer (StepsViewController.init(routeProgress:)) is now public. (#1167)- Fixed an issue preventing the distance from appearing in the turn banner when the system language was set to Hebrew and the system region was set to Israel or any other region that uses the metric system. (#1176)
- Various views and view controllers correctly mirror right-to-left in Hebrew. (#1182)
Core Navigation
RoteControllernow has a new property,snappedLocation. This property represents the raw location, snapped to the current route, if applicable. If not applicable, the value isnil.RouteController'sMBRouteControllerProgressDidChangenotification now exposes the raw location in it's update, accessible byMBRouteControllerRawLocationKey
Voice guidance
- Fixed an issue that caused
RouteVoiceControllerandMabpboxVoiceControllerto speak over one another. #1213
Other changes
- Fixed a crash while navigating that affected applications that do not use Mapbox-hosted styles or vector tiles. #1183
- The
DistanceFormatter.attributedString(for:)method is now implemented. It returns an attributed string representation of the distance in which theNSAttributedStringKey.quantityattribute is applied to the numeric quantity. (#1176) - Fixed an issue in which turn lanes were displayed in the wrong order when the system language was set to Hebrew. (#1175)
Documentation is available online or within Xcode.
v0.15.0-beta.1
Breaking changes
NavigationMapViewDelegateandRouteMapViewControllerDelegate:navigationMapView(_:didTap:)is nownavigationMapView(_:didSelect:)#1063- The Constants that concern Route-Snapping logic have been re-named. The new names are:
RouteSnappingMinimumSpeed,RouteSnappingMaxManipulatedCourseAngle, andRouteSnappingMinimumHorizontalAccuracy.
User interface
StepsViewController's convienence initalizer (StepsViewController.init(routeProgress:)) is now public. (#1167)- Fixed an issue preventing the distance from appearing in the turn banner when the system language was set to Hebrew and the system region was set to Israel or any other region that uses the metric system. (#1176)
- Various views and view controllers correctly mirror right-to-left in Hebrew. (#1182)
Core Navigation
RoteControllernow has a new property,snappedLocation. This property represents the raw location, snapped to the current route, if applicable. If not applicable, the value isnil.RouteController'sMBRouteControllerProgressDidChangenotification now exposes the raw location in it's update, accessible byMBRouteControllerRawLocationKey
Voice guidance
- Fixed an issue that caused
RouteVoiceControllerandMabpboxVoiceControllerto speak over one another. #1213
Other changes
- Fixed a crash while navigating that affected applications that do not use Mapbox-hosted styles or vector tiles. #1183
- The
DistanceFormatter.attributedString(for:)method is now implemented. It returns an attributed string representation of the distance in which theNSAttributedStringKey.quantityattribute is applied to the numeric quantity. (#1176) - Fixed an issue in which turn lanes were displayed in the wrong order when the system language was set to Hebrew. (#1175)
To install this prerelease via CocoaPods, point your Podfile to both the following URLs:
pod 'MapboxCoreNavigation', :podspec => 'https://raw.githubusercontent.com/mapbox/mapbox-navigation-ios/v0.15.0-beta.1/MapboxCoreNavigation.podspec'
pod 'MapboxNavigation', :podspec => 'https://raw.githubusercontent.com/mapbox/mapbox-navigation-ios/v0.15.0-beta.1/MapboxNavigation.podspec'Documentation is available online or within Xcode.
v0.14.1
Core Navigation
- Voice instructions and banner updates always happen when beginning a route. #1155
User Interface
- Fixed an issue which prevented the
Weak GPSstatus view from dismissing it self.
Documentation is available online or within Xcode.
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.
v0.13.1
Core Navigation
- Fixes a bug where the
spokenInstructionIndexwas incremented beyond the number of instructions for a step. (#1080) - Fixed a bug that crashed when navigating beyond the final waypoint. (#1087)
User Interface
- Added support for spoken instructions in Danish. (#1041)
- Fixed a bug that prevented the user puck from laying flat when rotating the map. (#1090)
- Updated translations for Russian, Swedish, Spanish, Vietnamese, Hebrew, Ukrainian, and German. (#1064, #1089)
Documentation is available online or within Xcode.