Releases: mapbox/mapbox-navigation-ios
Releases · mapbox/mapbox-navigation-ios
v0.18.1
Packaging
- Increased the minimum deployment target of Core Navigation to iOS 9. (#1494)
User interface
- Added
NavigationMapView.recenterMap()
for recentering the map if a user gesture causes it to stop following the user. (#1471) - Deprecated
NavigationViewController.usesNightStyleInsideTunnels
. Style switching is enabled as a side effect ofTunnelIntersectionManager.tunnelSimulationEnabled
, which is set totrue
by default. ([#1489] - Fixed an issue where the user location view slid around after the user pressed the Overview button. #1506
Documentation is available online or within Xcode.
v0.18.0
User Interface
- Added support for generic route shields. Image-backed route shields also now display as generic (instead of plain text) while the SDK loads the image. #1190, #1417
- Fixed an issue when going into overhead mode with a short route. #1456
Core Navigation
TunnelIntersectionManagerDelegate
methods no longer take a completion handler argument. (#1414)- Added the ability to render more than 1 alternate route. #1372
NavigationMapViewDelegate.navigationMapView(_:shapeFor:)
Now expects an array ofRoute
. The first route will be rendered as the main route, all subsequent routes will be rendered as alternate routes.- Animating the user through tunnels and automatically switching the map style when entering a tunnel is now on by default. #1449
- Adds
RouteControllerDelegate.routeController(_:shouldPreventReroutesWhenArrivingAt:waypoint:)
which is called each time a driver arrives at a waypoint. By default, this method returns true and prevents rerouting upon arriving. Progress updates still occur. #1454
Documentation is available online or within Xcode.
v0.17.0
Packaging
- 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)
- Added a Korean localization. (#1346)
User interface
- Exit indications are now drawn accurately with a correct exit heading. (#1288)
- Added the
NavigationViewControllerDelegate.navigationViewController(_:roadNameAt:)
method for customizing the contents of the road name label that appears towards the bottom of the map view. (#1309) - If the SDK tries but fails to reroute the user, the “Rerouting…” status view no longer stays visible permanently. (#1357)
- Completed waypoints now remain on the map but are slightly translucent. (#1364)
- Fixed an issue preventing
NavigationViewController.navigationMapView(_:simplifiedShapeDescribing:)
(nowNavigationViewController.navigationMapView(_:simplifiedShapeFor:)
) from being called. (#1413)
Spoken instructions
- Fixed an issue causing the wrong instructions to be spoken. (#1396)
User location
- The
RouteController.routeProgress
property is now available in Objective-C. (#1323) - Added a
RouteController.tunnelSimulationEnabled
option that keeps the user location indicator moving steadily while the user travels through a tunnel and GPS reception is unreliable. (#1218)
Other changes
DistanceFormatter
,ReplayLocationManager
,SimulatedLocationManager
,LanesView
, andManueverView
are now subclassable. (#1345)- Renamed many
NavigationViewController
andNavigationMapViewDelegate
methods (#1364, #1338, #1318, #1378, #1413):NavigationViewControllerDelegate.navigationViewControllerDidCancelNavigation(_:)
toNavigationViewControllerDelegate.navigationViewControllerDidDismiss(_:byCanceling:)
-[MBNavigationViewControllerDelegate navigationViewController:didArriveAt:]
to-[MBNavigationViewControllerDelegate navigationViewController:didArriveAtWaypoint:]
in Objective-CNavigationViewControllerDelegate.navigationMapView(_:routeStyleLayerWithIdentifier:source:)
toNavigationViewControllerDelegate.navigationViewController(_:routeStyleLayerWithIdentifier:source:)
NavigationViewControllerDelegate.navigationMapView(_:routeCasingStyleLayerWithIdentifier:source:)
toNavigationViewControllerDelegate.navigationViewController(_:routeCasingStyleLayerWithIdentifier:source:)
NavigationViewControllerDelegate.navigationMapView(_:shapeFor:)
toNavigationViewControllerDelegate.navigationViewController(_:shapeFor:)
NavigationViewControllerDelegate.navigationMapView(_:simplifiedShapeFor:)
toNavigationViewControllerDelegate.navigationViewController(_:simplifiedShapeFor:)
NavigationViewControllerDelegate.navigationMapView(_:waypointStyleLayerWithIdentifier:source:)
toNavigationViewControllerDelegate.navigationViewController(_:waypointStyleLayerWithIdentifier:source:)
NavigationViewControllerDelegate.navigationMapView(_:waypointSymbolStyleLayerWithIdentifier:source:)
toNavigationViewControllerDelegate.navigationViewController(_:waypointSymbolStyleLayerWithIdentifier:source:)
NavigationViewControllerDelegate.navigationMapView(_:shapeFor:legIndex:)
toNavigationViewControllerDelegate.navigationViewController(_:shapeFor:legIndex:)
NavigationViewControllerDelegate.navigationMapView(_:didTap:)
toNavigationViewControllerDelegate.navigationViewController(_:didSelect:)
NavigationViewControllerDelegate.navigationMapView(_:imageFor:)
toNavigationViewControllerDelegate.navigationViewController(_:imageFor:)
NavigationViewControllerDelegate.navigationMapView(_:viewFor:)
toNavigationViewControllerDelegate.navigationViewController(_:viewFor:)
NavigationViewControllerDelegate.navigationViewController(_:didSend:feedbackType:)
toNavigationViewControllerDelegate.navigationViewController(_:didSendFeedbackAssigned:feedbackType:)
-[MBNavigationViewControllerDelegate navigationViewController:shouldDiscard:]
to-[MBNavigationViewControllerDelegate navigationViewController:shouldDiscardLocation:]
in Objective-C-[MBNavigationViewControllerDelegate navigationViewController:roadNameAt:]
to-[MBNavigationViewControllerDelegate navigationViewController:roadNameAtLocation:]
NavigationMapViewDelegate.navigationMapView(_:shapeDescribing:)
toNavigationMapViewDelegate.navigationMapView(_:shapeFor:)
.NavigationMapViewDelegate.navigationMapView(_:simplifiedShapeDescribing:)
toNavigationMapViewDelegate.navigationMapView(_:simplifiedShapeFor:)
.-[MBNavigationMapViewDelegate navigationMapView:shapeDescribingWaypoints:legIndex:]
to-[MBNavigationMapViewDelegate navigationMapView:shapeForWaypoints:legIndex:]
in Objective-C
RouteController.recordFeedback(type:description:)
now returns aUUID
instead of a string. SomeRouteController
methods have been renamed to acceptUUID
s as arguments instead of strings. (#1413)- Renamed
TunnelIntersectionManagerDelegate.tunnelIntersectionManager(_:willEnableAnimationAt:callback:)
toTunnelIntersectionManagerDelegate.tunnelIntersectionManager(_:willEnableAnimationAt:completionHandler:)
andTunnelIntersectionManagerDelegate.tunnelIntersectionManager(_:willDisableAnimationAt:callback:)
toTunnelIntersectionManagerDelegate.tunnelIntersectionManager(_:willDisableAnimationAt:completionHandler:)
. (#1413)
Documentation is available online or within Xcode.
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
’srouteProgress
is 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,
NavigationMapView
temporarily applies a night style (a style whosestyleType
property is set toStyleType.night
). (#1127) - The user can reveal the list of upcoming steps by swiping downward from the top banner. (#1150)
- Renamed
StyleType.dayStyle
andStyleType.nightStyle
toStyleType.day
andStyleType.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.trafficSevereColor
againstBottomBannerView.backgroundColor
inNightStyle
. (#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.reroutesOpportunistically
property toRouteController.reroutesProactively
,RouteControllerOpportunisticReroutingInterval
global variable toRouteControllerProactiveReroutingInterval
, and theRouteControllerNotificationUserInfoKey.isOpportunisticKey
value toRouteControllerNotificationUserInfoKey.isProactiveKey
. (#1230) - Added a
RouteStepProgress.currentIntersection
property that is set to the intersection the user has most recently passed along the route. (#1127) - Fixed an issue where the
RouteStepProgress.upcomingIntersection
property 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,
NavigationMapView
temporarily applies a night style (a style whosestyleType
property is set toStyleType.night
). (#1127) - The user can reveal the list of upcoming steps by swiping downward from the top banner. (#1150)
- Renamed
StyleType.dayStyle
andStyleType.nightStyle
toStyleType.day
andStyleType.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.trafficSevereColor
againstBottomBannerView.backgroundColor
inNightStyle
. (#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.reroutesOpportunistically
property toRouteController.reroutesProactively
,RouteControllerOpportunisticReroutingInterval
global variable toRouteControllerProactiveReroutingInterval
, and theRouteControllerNotificationUserInfoKey.isOpportunisticKey
value toRouteControllerNotificationUserInfoKey.isProactiveKey
. (#1230) - Added a
RouteStepProgress.currentIntersection
property that is set to the intersection the user has most recently passed along the route. (#1127) - Fixed an issue where the
RouteStepProgress.upcomingIntersection
property 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
NavigationMapViewDelegate
andRouteMapViewControllerDelegate
: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
RoteController
now 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
'sMBRouteControllerProgressDidChange
notification now exposes the raw location in it's update, accessible byMBRouteControllerRawLocationKey
Voice guidance
- Fixed an issue that caused
RouteVoiceController
andMabpboxVoiceController
to 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.quantity
attribute 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
NavigationMapViewDelegate
andRouteMapViewControllerDelegate
: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
RoteController
now 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
'sMBRouteControllerProgressDidChange
notification now exposes the raw location in it's update, accessible byMBRouteControllerRawLocationKey
Voice guidance
- Fixed an issue that caused
RouteVoiceController
andMabpboxVoiceController
to 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.quantity
attribute 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.