-
Notifications
You must be signed in to change notification settings - Fork 153
feat: navigation compose and delegation pattern #670
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Adds support for the Navigation SDK to Maps Compose. It just allows the user to replace a standard MapView with a NavigationView within a GoogleMap composable. The following changes were made: Added a new NavigationViewDelegate class to handle the integration between NavigationView and Maps Compose. Added a new NavigationScreen composable function to display the navigation view. Added a new MovableMarker composable function to display a draggable marker on the map. Updated the GoogleMap composable function to support the use of NavigationView. Added a new NavigationApplication class to initialize the Places SDK. Added a new ApiKeyProvider class to provide API keys for the Maps and Places SDKs. Added a new LocationProvider class to provide location data. Added a new PermissionChecker class to check for location permissions. Updated the build.gradle.kts files to include the necessary dependencies. Updated the local.defaults.properties file to include the Places API key.
Adds NavigationViewDelegate to support NavigationView in the navigation sample app. This change allows the navigation sample app to use NavigationView, which provides turn-by-turn navigation functionality. The NavigationViewDelegate handles the lifecycle and rendering of the NavigationView, ensuring that it is properly integrated into the Jetpack Compose UI. Uses a MarkerComposable to demonstrate the map really is a composable
Code Coverage
|
maps-compose/src/main/java/com/google/maps/android/compose/MapComposeViewRender.kt
Show resolved
Hide resolved
...ation-app/src/main/java/com/google/maps/android/compose/navigation/NavigationViewDelegate.kt
Show resolved
Hide resolved
maps-compose/src/main/java/com/google/maps/android/compose/GoogleMap.kt
Outdated
Show resolved
Hide resolved
...ation-app/src/main/java/com/google/maps/android/compose/navigation/NavigationViewDelegate.kt
Show resolved
Hide resolved
d3c6162
to
934fee6
Compare
Adds support for the Navigation SDK to Maps Compose. It just allows the user to replace a standard MapView with a NavigationView within a GoogleMap composable. The following changes were made: Added a new NavigationViewDelegate class to handle the integration between NavigationView and Maps Compose. Added a new NavigationScreen composable function to display the navigation view. Added a new MovableMarker composable function to display a draggable marker on the map. Updated the GoogleMap composable function to support the use of NavigationView. Added a new NavigationApplication class to initialize the Places SDK. Added a new ApiKeyProvider class to provide API keys for the Maps and Places SDKs. Added a new LocationProvider class to provide location data. Added a new PermissionChecker class to check for location permissions. Updated the build.gradle.kts files to include the necessary dependencies. Updated the local.defaults.properties file to include the Places API key.
Adds NavigationViewDelegate to support NavigationView in the navigation sample app. This change allows the navigation sample app to use NavigationView, which provides turn-by-turn navigation functionality. The NavigationViewDelegate handles the lifecycle and rendering of the NavigationView, ensuring that it is properly integrated into the Jetpack Compose UI. Uses a MarkerComposable to demonstrate the map really is a composable
… into navigation-compose
Just some random thoughts, but: since now we have two app modules, maybe we should remove the app one into |
Updates the navigation library dependency from v6.0.1 to v6.1.0. This commit also the wording of the comment in `navigation-app/build.gradle.kts` to clarify the reason for excluding `play-services-maps`.
Updated Lint configuration and dismissed some Lint alerts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
# [6.5.0](v6.4.4...v6.5.0) (2025-03-03) ### Features * navigation compose and delegation pattern ([#670](#670)) ([98fbd39](98fbd39))
🎉 This PR is included in version 6.5.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
Thank you for opening a Pull Request!
Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
Fixes #<issue_number_goes_here> 🦕