Subscribe
to these release notes.
July 07, 2023
Release 5.0.0
The Navigation SDK for Android version 5.0.0 is now available.
For information about this release, and for all previous releases, see the Release Notes page or subscribe to the Release Notes XML feed.
If you are a new user, see Set up your project to start using the SDK.
The minSdk
for the NavSDK is now api level 23.
The targetSdk
is now API level 33. This will be a requirement for all apps
that deploy to Google play as of August 2023. See
https://developer.android.com/google/play/requirements/target-sdk.
Removes the NavigationMapStyle
class.
Removes NavigationView#setSpeedAlertOptions
and
SupportNavigationFragment#setSpeedAlertOptions
. Use
Navigator#setSpeedAlertOptions instead
.
Removes Navigator#setDestinations(List<Waypoint> destinations, String routeToken)
and
Navigator#setDestinations(List<Waypoint> destinations, String routeToken, DisplayOptions
displayOptions)
.
Use Navigator#setDestinations(List<Waypoint> destinations,
CustomRoutesOptions customRoutesOptions)
, and
Navigator#setDestinations(List<Waypoint> destinations, CustomRoutesOptions customRoutesOptions,
DisplayOptions displayOptions)
instead, respectively.
Removes NavigationView#setLocationMarkerEnabled
and
SupportNavigationFragment#setLocationMarkerEnabled
. Use
GoogleMap#setMyLocationEnabled
instead.
Due to the change in privacy requirements apps displaying the notification drawer in Android 13, the Navigation SDK mobile notifications will no longer work unless customers request the runtime permission in their apps.
The NavSDK AAR bundle will no longer be directly distributed. Customers must update their build dependencies to use the GMaven repository instead. See https://developers.google.com/maps/documentation/navigation/android-sdk/set-up-project.
All ExternalCache methods and classes are deprecated and will be removed in NavSDK v6. These include the following methods on GoogleMap model class.
- GoogleMap#setExternalCache
- GoogleMap#setNetworkEnabled
- GoogleMap#isNetworkEnabled
And the following model classes:
Apps that use the Navigation SDK must now enable Java 8 library support. See https://developer.android.com/studio/write/java8-support for instructions to update.
July 06, 2023
Release 4.99.0
The Navigation SDK for Android version 4.99.0 is now available.
For information about this release, and for all previous releases, see the Release Notes page or subscribe to the Release Notes XML feed.
If you are a new user, see Set up your project to start the installation process.
Update maneuver and lane icons to the latest Material design.
UiSettings#isMyLocationButtonEnabled()
MapsSDK method now available in the NavSDK.
The following methods have been ported to Navigation SDK from Maps SDK:
GoogleMapOptions#backgroundColor
and GoogleMapOptions#getBackgroundColor
.
These make it possible to set the background color while map tiles are loading.
All public apis from the Maps SDK are now available in the NavSDK. Not all of these apis are applicable to the NavSDK and these differences are documented at http://developers.google.com/maps/documentation/navigation/android-sdk/reference.
NavSDK now requires androidx.appcompat:appcompat:1.6.X+
. This library also
requires a compileSDK of 33+.
Fixes a crash seen in the native library libgmm-jni.so
.
FIxes a potential java.lang.SecurityException
:
Permission Denial: opening provider
com.google.android.gsf.gservices.GservicesProvider
from {...} requires
com.google.android.providers.gsf.permission.READ_GSERVICES
or
com.google.android.providers.gsf.permission.WRITE_GSERVICES
Fixed issue where map would no longer zoom out when repeatedly zooming out with two fingers.
Fixed timing edge cases with the terms of service controller.
Fixed some null-pointer exceptions by adding null-checks for listeners at callback time.
Fixed issue where
ArrivalListener#onArrival(ArrivalEvent event)
event was not triggered in certain scenarios.
Fixed a potential ConcurrentModificationException
when executing
GoogleMap#clear().
Fixed a potential ClassCastException
when executing
GoogleMap#addPolygon()
.
April 06, 2023
Refactored map tile loading and caching for memory improvements.
267285618: Reduce file system reads when initializing Navigator.
Navigation SDK for Android is now available in a public Maven repository. See Set up your project in the SDK documentation to learn more.
If your project must show the Terms and Conditions dialog, getNavigatorNoToS
has no functionality.
March 07, 2023
260300835: Resolved IndexOutOfBoundsException crashes related to previewing alternate routes.
269564057: Resolved NullPointerException when user clicks the directions button in the toolbar when no marker is selected.
265111259: Resolved an ANR issue that can be triggered when checking the user's acceptance of terms and conditions.
265137693: Resolved an ANR related to blocked I/O operation.
260918253: Resolved an issue related to setMyLocationEnabled and failing to get user location immediately after granting access.
269761562, 265356198, 269484016: Fixes some memory leaks.
February 28, 2023
269761562, 265356198, 269484016: Fixes some memory leaks.
January 18, 2023
Support Android Auto so that developers can enable their app to provide a driver-optimized navigation experience with Android Auto.
260676765: This fix prevents ANRs that can happen during main-thread initialization I/O errors.
245127201: The distant view of the map no longer disappears during full tilt.
260300835: Prevents the IndexOutOfBoundsException issue related to previewing alternate routes.
Tapping on the Trip Progress Bar no longer changes the camera to birds eye view/overview mode.
Replaces the Google Navigation SDK sample app, originally in Java, with a Kotlin version. The Kotlin version of the sample app has the same features and functionalities as the Java version. The Java version is no longer supported.
December 12, 2022
203940646: Relaxes constraints on GoogleMap.setPadding to reduce crashes due to insufficient view height or width.
260565043: Mitigates ANRs related to fetching parameters from server at startup.
247717885: Adds precondition checks for invalid NaN in camera zoom parameter.
259569583: Mitigates ANR and deadlock during audio guidance playback by improving internal core synchronization.
193137126: Fixes day/night rendering across antimeridian.
November 02, 2022
Enables the Map Toolbar related methods UiSettings#isMapToolbarEnabled()
, UiSettings#setMapToolbarEnabled(boolean)
, GoogleMapOptions#mapToolbarEnabled(boolean)
, GoogleMapOptions#getMapToolbarEnabled()
.
245357703: Fixes an issue that results in OutOfMemoryError
and ANR.
247461649: Fixes a NullPointerException
issue.
October 25, 2022
Allow developers to show traffic lights and stop signs during navigation.
Introduces previewing alternate routes before starting navigation, and selecting the number of alternate routes shown using alternateRoutesStrategy
.
Adds UI improvements to the trip progress bar.
The Terms of Service dialogue shows a new text.
Deprecates the NavigationMapStyle
API and the DEFAULT
and HIGH_DETAIL
constants. These constants enabled you to switch your app's default map view from a simple base map style to a detailed map style showing extra detailed tiles, including 2D building outlines on zoom level 18+ and 2D building numbers on zoom level 19+. Due to changes in the default base map for Android, these details are now enabled by default, so this constant is no longer necessary.
253307316: Fixes an issue that impacts memory usage and garbage collection.
254523699: Fixes an issue that results in memory leak.
Announcement: Freezing support for Android 5 (July 21, 2022)
For our latest SDK version (v4.1.2 and the later versions in v4.x), we are providing an additional year of support for apps running on Android 5, for both API levels 21 and 22.
What this means:
- Navigation SDK and Driver SDK running on your Android apps will support a minimum Android 5 (API level 21) until June 30, 2023.
- After June 30, 2023, we will support only Android API levels 23 and above. In other words, we will stop supporting Android API levels 21 and 22 across all SDK versions after that date. This means that bugs related to Android 21 or 22 in any SDK version (including 4.x) will not be fixed, and we do not guarantee that the SDKs will behave correctly.
This notice overrides the Android 21 and 22 support freezing notice from June 21, 2021, and the Android 23, 24, and 25 support freezing from October 18, 2021.
Version 4.2.2 (September 8, 2022)
Stability and Bug Fixes
- Fixes a gRPC crash where
io.grpc.util.SecretRoundRobinLoadBalancerProvider$Provider
cannot be instantiated. The error frequently surfaced for apps depending oncom.google.firebase:firebase-firestore
alongside Navigation SDK for Android.
Version 4.2.1 (August 17, 2022)
Stability and Bug Fixes
- Fixes a null pointer issue when processing deferred map click events.
- Fixes a null pointer issue in
GoogleMap.setMyLocationEnabled
.
Version 4.2.0 (July 01, 2022)
API changes
- Provides the ability to expose the trip to ferry segments.
Stability and Bug Fixes
- Fixes a memory leak in
Marker.setIcon
. - Fixes issue where
GoogleMap.setPadding
was not working. - Updates all dependencies.
Version 4.1.4 (June 23, 2022)
Bug Fixes
- Some customers experienced a
NoSuchFieldError
for stylemod_text_appearance_headline7
on confirmation popups. This patch replaces the missing style and eliminates references to the missing style in the Navigation SDK artifacts.
Version 4.1.3 (May 25, 2022)
Bug Fixes
- Fixes padding for the Google logo, compass, and the camera. Previously, these were not respecting the padding set by
GoogleMap.setPadding()
.
Version 4.1.2 (May 20, 2022)
API changes
- Downgrades the minimum Android API level for the Navigation SDK to 21.
Version 4.1.1 (March 29, 2022)
Bug Fixes
Some clients received a Terms of Service dialog error when the Android Activity was destroyed. Now clients will not longer experience this dialog error when an activity is destroyed.
Fixes a broken hyperlink in the Terms of Service dialog.
Previously, the progress bar was only visible in portrait mode. It is now visible in landscape mode as well..
The progress bar remains visible throughout navigation - even when camera is not in follow mode, and user is interacting with the map.
Version 4.1 (March 2, 2022)
API Changes
Introduces the
setTripProgressBarEnabled
method onSupportNavigationFragment
. Previously, this method was only available on theNavigationView
. See Trip Progress Bar for more information.Introduces the StreetView APIs into the Navigation SDK. The primary entry-points are the
SupportStreetViewPanoramaFragment
,StreetViewPanoramaFragment
andStreetViewPanoramaView
, just as they are in Google Maps SDK for Android. To get started using StreetView within the Navigation SDK, view the corresponding documentation. Then see the "GoogleMap Demo" to understand how the APIs are integrated in the sample app.Introduces the
setNavigationUiEnabled
method onNavigationView
andSupportNavigationFragment
. These methods allow you to switch between a "map-focused" and "navigation-focused" user-experience in your UI. These methods may take effect asynchronously; e.g. if theNavigator
has not been created yet, the requested setting will not be honored right away. We recommend registering theOnNavigationUiChangedListener
to be informed when the requested setting forsetNavigationUiEnabled
has been honored by the UI.Deprecates the
setLocationMarkerEnabled
API onNavigationView
andSupportNavigationFragment
in favor of a newly-added method,GoogleMap.setMyLocationEnabled
. You can also register theGoogleMap.OnMyLocationClickListener
to react to click events on the location marker.Adds the method
GoogleMap.getMyLocation
and the related listenerGoogleMap.OnMyLocationChangeListener
. These methods are already deprecated in the Google Maps APIs, but we supply them for your convenience and to ease the migration from the Google Maps APIs.
Bug Fixes
Updates the error-handling for the
CustomRoutesOptions.Builder
to be more informative when a malformed route token is passed in.Handles an edge-case from Android framework with respect to the lifecycle of the navigation service.
Sample App Changes
Starting Navigation SDK v4.1, sample apps for the SDK are now released independently of the SDK artifact. Both can be found in the shared Google Drive, but they will no longer be bundled into the same
.zip
file.The existing sample app, now called the "GoogleNavigation Demo" has been revamped significantly. Now, you can test a number of Navigation APIs at runtime (instead of having to recompile) with the new customization overlays. Also, the sample app build variants have been consolidated into one target.
A new sample app, the "GoogleMap Demo", has been added. This sample app demonstrates many of the behaviors developers are familiar with from the Google Maps APIs. The primary difference is the presence of a toggle button that switches the inflated view-variant between the
MapView
and theNavigationView
, where applicable.For more information, view the Getting Started page.
Version 4.0.3 (April 1, 2022)
Bug fixes
Fixes a broken hyperlink in the Terms of Service dialog.
Previously, the progress bar was only visible in portrait mode. It is now visible in landscape mode as well.
The progress bar remains visible throughout navigation - even when camera is not in follow mode, and user is interacting with the map.
Version 4.0.2 (February 25, 2022)
Bug fixes
Some clients received a Terms of Service dialog error when the activity was destroyed. The error has been fixed and clients will no longer experience the error.
Version 4.0.1 (February 15, 2022)
Bug fixes
Some Android clients experienced an "Application Not Responding" (ANR) error when the app initially loaded due to a network call that blocked the load. Now, app initialization should proceed without issue.
Version 4.0 (December 14, 2021)
API changes
- Bumps the minimum Android API level for the Navigation SDK to 23, and bumps the target API level to 30. This target version is in-line with the Google Play requirements.
- Adds the
MapView
,MapFragment
andSupportMapFragment
classes. Customers may find these classes useful in helping to transition off of the Maps SDK when migrating from v1 to v4. - Adds an API that enables a Trip Progress Bar. It displays a progress bar that lets drivers see the upcoming traffic along their route.
- Updates the sample app
to pull the Navigation SDK for Android artifact using the Maven artifact
repository where it is housed. Previously, the sample app was built against the
local
.aar
artifact. - Renders the polyline that trails the navigation chevron in the color "gray" to indicate that the user has already driven through that section of the route.
Stability and bug fixes
- Fixes a
ConcurrentModificationException
that arises from certain usage patterns of the arrival listener.
Version 3.2.1 (December 16, 2021)
Stability and bug fixes
- Fixes a crash that happens when navigation starts on Android API Level < 21.
- Fixes a
ConcurrentModificationException
that arises from certain usage patterns of the arrival listener.
Announcement (October 18, 2021)
Freezing support for API Level 23, 24 and 25
Read revoked announcement
In response to changes in our internal dependencies, Android API Level 23, 24, and 25 (Android 6, 7.0 and 7.1) will not be supported in new versions of the Navigation and Driver SDKs for Android, beginning in the third quarter of 2022.
Navigation and Driver SDKs for Android versions released beginning in the third quarter of 2022 will only support devices running a minimum of Android API Level 26.
App versions built with v3.x or lower of the Navigation and Driver SDKs for Android will continue to work on devices running Android API Level 25 and below.
Version 3.2 (October 07, 2021)
API changes
- Expose zoom control and indoor APIs from maps SDK.
- Update attribute in
GoogleMapOptions
to specify the background color for the view which can be specified in the Android Manifest XML file for an Android app or programmatically during initialization.
Stability and bug fixes
- Fixes a potential memory leak issue.
- Fixes a bug that was producing ANR issues.
- Prevents a crash originated by the Terms of Service dialog.
Deprecations
- Deprecates
Navigator#setDestinations
with route token in favor of a new API that uses the new CustomRoutesOptions class.
** New Features **
- Adds 2-Wheeler support for Custom Routes.
Version 3.1.3 (September 27, 2021)
Stability and bug fixes
- The Navigation SDK for Android UI now automatically surfaces visual cues, like a greyed out location-marker and a “Searching for GPS” callout. This visual change occurs when the last-valid location becomes somewhat stale, and will automatically revert when the SDK receives new valid location updates.
Version 3.1.2 (September 17, 2021)
API changes
- EXPERIMENTAL: Added a new API, GpsAvailabilityEnhancedLocationListener,
that allows developers to listen to transitions in the GPS availability on the
device.
- This API is experimental, which means it is subject to removal or breaking changes in future releases. Please exercise discretion before adoption.
Version 3.1.1 (July 26, 2021)
Stability and bug fixes
- Fixes an
IllegalStateException
associated with an overly restrictive preconditions check in implementation code. - Fixes a
NullPointerException
when panning to a screen location that cannot be translated into a geographic location.
Version 3.1.0 (June 23, 2021)
API changes
- Speeding listeners are now supported in headless navigation. This makes it
possible to monitor speeding without first rendering a
View
or aFragment
from the Navigation SDK.
Deprecations
The following methods have been deprecated in favor of Navigator.setSpeedAlertOptions()
:
NavigationView.setSpeedAlertOptions()
SupportNavigationFragment.setSpeedAlertOptions()
Stability and bug fixes
- Fixed a crash in
followMyLocation()
. - Fixed "Metadata key must not be null"
NullPointerException
.
Version 3.0.2 (July 26, 2021)
Stability and bug fixes
- Fixes an
IllegalStateException
associated with an overly restrictive preconditions check in implementation code. - Fixes a
NullPointerException
when panning to a screen location that cannot be translated into a geographic location.
Deprecation announcement (June 21, 2021)
This announcement describes deprecations to the Navigation SDK for Android and Driver SDK for Android as of the date listed above. This announcement was also sent out as a Mandatory Service Announcement (MSA) to affected customers.
Navigation SDK for Android and Driver SDK for Android v1.x deprecation
Nav/Driver SDK v1 was released in 2018, and with our v3 versions soon to be released, it’s time to deprecate v1 to avoid the unsustainability of supporting many major versions.
The time saved by not having to support this additional version will allow us to better support the latest major version and build more features that are important to our customers.
Thus, Nav/Driver SDK v1.x is now deprecated and will no longer be maintained after June 21, 2022.
Please take a moment to see how deprecations in SDK versions work.
Navigation and Driver SDK Android 21 and 22 end of support
Read revoked announcement
The upcoming v4.0 of Navigation SDK for Android and Driver SDK for Android will support a minimum [Android 6.0 (API level 23)](https://developer.android.com/studio/releases/platforms#6.0){: .external}. The current minimum supported version is Android 5.0 (API level 21). We forecast releasing v4.0 in Q4 2021. This means:
- App versions built with versions earlier than v4.x will continue to work on Android 21 and 22 devices. Your driver apps that have integrated our current SDKs will continue to work on devices running Android 21+. This is the same as before.
- App versions built with Driver SDK for Android and Navigation SDK for Android v4.x (targeted for Q4 2021, subject to change) and after won’t be able to be installed on devices running Android 21 and 22. v4.x will run on minimum Android 6.0 (API level 23), so versions of your app built with the forthcoming v4.x can only be received by drivers with devices that have Android 23+. To reiterate, this means that both our SDK-related changes and any app changes you’ve made won’t reach drivers with devices running Android 21 and 22.
The versions of Navigation SDK for Android v3 and Driver SDK for Android v3 that you will want to upgrade to are explained in the following table along with when they’ll be available.
Which Driver platform features do you use? | Do you use these capabilities? | Then the first versions available that you should upgrade to are... | Expected Availability (subject to change) |
Migration Links |
---|---|---|---|---|
Navigation only (NavSDK methods) |
No | NavSDK v3.0.1 | Now | Guide |
Yes | NavSDK v3.5 (projected) | Sep 2021 | ||
Navigation and Fleet Engine Tracking (NavSDK and DriverSDK methods) | No | Nav SDK v3.0 and Driver SDK v3.0 | Driver v3.0 migration guide available at release | |
Yes | NavSDK v3.x and DriverSDK v3.0 |
To continue using the removed methods, you may stay on v1.x, but without expectation of support or maintenance after June 21, 2022 (see next section).
We recommend you migrate to v3.x. This means:
- The last release of v1.x will occur on Q4 2021 (and thus v1 is “feature frozen” from then).
- This last release can be patched for 6 months thereafter, until June 21, 2022. After this time, we will not be able to respond to bug or feature requests for v1.x.
Please take a moment to review the following table and the [migration guide](/maps/documentation/navigation/android-sdk/migration) in order to help you navigate these changes.
What can I do by when?
If you're currently on... | Do you use these capabilities? | To upgrade now | To upgrade in Sep 2021 | Migration Links |
---|---|---|---|---|
v1.x (not using FleetEngine.java / Driver functionality) |
No | NavSDK v3.0 | Guide | |
Yes | No option | NavSDK 3.x | ||
v1.x (using FleetEngine.java / Driver functionality) |
No | No option | NavSDK 3.x + DriverSDK 3.x |
The guide above, plus the Driver v3.0 migration guide available at release |
Yes |
We’d recommend that you notify your drivers with devices on Android 21 and 22 to upgrade to a newer version of Android (minimum Android 6.0) before you integrate Driver SDK for Android and Navigation SDK for Android version v4.x and above into your driver app.
Version 3.0.1 (May 20, 2021)
Stability and bug fixes
- Fixed a crash in
followMyLocation()
. - Fixed "Metadata key must not be null"
NullPointerException
.
Version 3.0 (May 10, 2021)
The Driver SDK for Android has been decoupled from the Navigation SDK for Android, and the two SDKs will be delivered as separate binaries on separate maintenance schedules. This change was done to make Driver SDK updates easier to test and integrate for customers. More details and guidance:
- Navigation SDK usage is the same for version 2.x and version 3.0.
FleetEngine.java
is in the Driver SDK AAR.- Driver SDK users should pick up Driver SDK version 3.0 from Maven (when available) and specify the 3.x version of Navigation SDK they wish to use.
New features
The TurnByTurn SDK lets you provide small-screen users, such as two-wheeled vehicle riders, with navigation information and visual cues such as upcoming maneuvers with icons (left, right, U-turn), turn numbers in roundabouts, road names, estimated distance and time to the next navigation step or final destination, and navigation state (en route, rerouting, stopped).
A new attribute has been added to
GoogleMapOptions
to specify the background color for the view, which you can specify in the Android Manifest XML file for an Android app or programmatically during initialization.
Stability and bug fixes
Fixed a camera bug where the recenter button appeared after moving the app to the background.
Decommissions
The following methods, which were marked deprecated in version 2.x, have been removed:
Navigator#startGuidance(resumeIntent)
NavigationApi#initForegroundServiceManager(*)
Waypoint#fromLatLng(*)
Waypoint#fromPlaceId(*)
Version 2.7.2 (July 14, 2021)
Stability and bug fixes
- Fixes an
IllegalStateException
associated with an overly restrictive preconditions check in implementation code. - Fixes a
NullPointerException
when panning to a screen location that cannot be translated into a geographic location. - Adjusts some internal memory management in the Navigation SDK.
Version 2.7.1 (May 19, 2021)
Stability and bug fixes
- Fixed a crash in
followMyLocation()
. - Fixed "Metadata key must not be null"
NullPointerException
.
Version 2.7 (April 5, 2021)
New features
Added the
FollowMyLocationOptions
class, which allows you to set the zoom level during navigation. Added afollowMyLocation
method overload that takes aFollowMyLocationOptions
object as a parameter.Added the
setNavigationMapStyle
method, which allows you to enable the high detail navigation map style. The high definition navigation map style displays 2D building outlines at zoom level 19 or higher.
Stability and bug fixes
Fixed an issue that caused the camera's recenter button to appear after an app runs in the background.
Version 2.6 (March 15, 2021)
- Added a new mandatory dependency. Add the following dependencies to your
Gradle dependency lists to avoid runtime crashes:
api 'joda-time:joda-time:2.9.9'
.
New features
- Updated the demo app to have a variant that stresses navigation behaviors
through
SupportNavigationFragment
. - Updated the demo app to showcase some additional location-following behaviors.
Stability and bug fixes
- Fixed an issue where 'follow my location' mode was not canceled upon camera movement.
- Fixed an issue where the camera stops following the user's location after the caller stops turn-by-turn guidance.
- Fixed an issue where consumers of the Navigation SDK using Joda-Time run into conflicts with the obfuscated version of jodatime which was packaged into our library.
- Fixed an issue in which the Navigation SDK accidentally hides consumer-app notifications it does not own upon launching a navigation session.
Driver SDK
- The Fleet Engine
createInstance
method now requires the caller to pass in aNavigator
instance. This is a breaking change, and your app will fail to compile unless you update all relevant invocation sites in your code. - Adds methods to
Navigator
to register and remove listeners for updates to traffic data.
Version 2.5.2 (March 29, 2021)
- Fixed an issue where the camera stops following the user's location after the caller stops turn-by-turn guidance.
Version 2.5.1 (January 29, 2021)
- Fixed an issue where 'follow my location' mode was not canceled upon camera movement.
Version 2.5 (December 15, 2020)
API changes
Added two new methods to the Navigator API to allow setting and removing listeners for new navigation sessions.
Added a new method to the Navigator API to obtain transaction IDs for the ongoing navigation session. This API should be used when a new navigation session starts and when the transaction IDs change in an ongoing navigation session (e.g. when the list of journey segments is updated).
Version 2.4.1 (January 29, 2021)
- Fixed an issue where 'follow my location' mode was not canceled upon camera movement.
Version 2.4 (November 5, 2020)
Added the
Navigator.ReroutingListener
class. Register theReroutingListener
on theNavigator
instance by callingaddReroutingListener
; useremoveReroutingListener
to unregister.Modified the
FleetEngine.createInstance
class constructor, added wrappers forAuthTokenFactory
andStatusListener
.Fixed a race condition that could cause a crash under the right conditions.
Version 2.3.1 (January 26, 2021)
- Fixed an issue where 'follow my location' mode was not canceled upon camera movement.
Version 2.3 (September 18, 2020)
You can now pass a route token to NavSDK to retrieve the route represented by that route token. The route token is associated with a route response when you call the Routes Preferred API. The new API is
Navigator#setDestination(List<Waypoint> destinations, String routeToken)
.Added some new mandatory dependencies. Add the following dependencies to your Gradle dependency lists to avoid runtime crashes:
api 'com.google.android.datatransport:transport-api:2.2.0' api 'com.google.android.datatransport:transport-backend-cct:2.2.0' api 'com.google.android.datatransport:transport-runtime:2.2.0'
Version 2.2 (August 10, 2020)
New features
Repackaged the embedded Google Maps SDK's package name from
libraries.maps
togms.maps
. To migrate, take these steps:- Change all references of
com.google.android.libraries.maps
tocom.google.android.gms
. - Update your build.gradle to exclude the Google Play Services version of the Maps SDK for Android. See the build.gradle file in the sample app for an example.
- Change all references of
Reintroduced the
Waypoint
parameter inNavigationTransactionRecorder
pickup and dropoff methods.Added the
Waypoint.Builder.setVehicleStopover
API that enables/disables the automatic relocation of stopovers in the route when waypoints are set in a place where it is not possible to stop.Added a parameter
SpeedAlertSeverity
to theSpeedAlert
callback. Use this parameter with theSpeedingListener
.
Stability and bug fixes
Deprecated
NavigationApi.cleanUp
method due to unwanted side effects likeNullPointerExceptions
leading to crashes.Deprecated
Waypoint.fromLatLng()
andWaypoint.fromPlaceId()
in favor ofWaypoint.builder()
.Deprecated the
AddressListener
class, contained in theNavigationTransactionRecorder
, because it is unused.
Version 2.1 (April 9, 2020)
New features
Customizable fonts/colors/icons for the Navigation header.
Support customization of the color of the recommended lane(s) in the Navigation Header UI.
Updates several APIs to follow the add-remove pattern for setting callbacks/listeners. Previous
set*
methods have been marked deprecated and will be removed in a future release. The deprecated methods are listed here:SupportNavigationFragment.setOnNightModeChangedListener
SupportNavigationFragment.setOnRecenterButtonClickedListener
NavigationFragment.setOnNightModeChangedListener
NavigationFragment.setOnRecenterButtonClickedListener
NavigationView.setOnNightModeChangedListener
NavigationView.setOnRecenterButtonClickedListener
Navigator.setArrivalListener
Navigator.setRouteChangedListener
Navigator.setRemainingTimeOrDistanceChangedListener
Stability and bug fixes
Bump up the minSdkVersion for navsdk to 19.
Fixed a bug where lat/lng Waypoint names were not honored in case server-side reverse geocoding fails.
Version 2.0 (October 15, 2019)
New features
Navigation SDK 2.0 incorporates the Maps SDK map renderer and surfaces Maps SDK APIs. This NavSDK version enables developers to access most of the Maps API features while navigating such as drawing polygons, overlays and polylines. Developers can also control the map styling for navigation and have some additional camera controls. The driver experience improves with this version as the MapView --> Navigation switch will be instantaneous since the map is shared across the two modes.
API changes
The following classes have been removed:
com.google.android.libraries.navigation.LatLng
com.google.android.libraries.navigation.LatLngBounds
com.google.android.libraries.navigation.Marker
com.google.android.libraries.navigation.MarkerOptions
They have been replaced by:
com.google.android.gms.maps.model.LatLng
com.google.android.gms.maps.model.LatLngBounds
com.google.android.gms.maps.model.Marker
com.google.android.gms.maps.model.MarkerOptions