Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
### Features

* support latest rn versions ([#467](https://github.com/googlemaps/react-native-navigation-sdk/issues/467)) ([2b69764](https://github.com/googlemaps/react-native-navigation-sdk/commit/2b69764462c97a34ec14228410c4de7e189d2ee3))
* upgrade to latest Android SDK 10.3.0 ([#470](https://github.com/googlemaps/react-native-navigation-sdk/issues/470)) ([85f678a](https://github.com/googlemaps/react-native-navigation-sdk/commit/85f678abd858e1e6f5fd1cb0f1d3fb54dd36d13b))
* upgrade to latest iOS SDK 10.3.0 ([#470](https://github.com/googlemaps/react-native-navigation-sdk/issues/470)) ([85f678a](https://github.com/googlemaps/react-native-navigation-sdk/commit/85f678abd858e1e6f5fd1cb0f1d3fb54dd36d13b))

## [0.10.0](https://github.com/googlemaps/react-native-navigation-sdk/compare/v0.9.3...v0.10.0) (2025-08-11)

Expand Down
4 changes: 2 additions & 2 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ android {

defaultConfig {
minSdkVersion 24
targetSdkVersion 34
targetSdkVersion 36
}

buildFeatures {
Expand Down Expand Up @@ -82,6 +82,6 @@ dependencies {
implementation "androidx.car.app:app:1.4.0"
implementation "androidx.car.app:app-projected:1.4.0"
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation "com.google.android.libraries.navigation:navigation:6.3.1"
implementation "com.google.android.libraries.navigation:navigation:7.0.0"
api 'com.google.guava:guava:31.0.1-android'
}
Original file line number Diff line number Diff line change
Expand Up @@ -459,13 +459,11 @@ public void setDestinations(
pendingRoute = mNavigator.setDestinations(mWaypoints);
}

setOnResultListener(
new IRouteStatusResult() {
@Override
public void onResult(Navigator.RouteStatus code) {
sendCommandToReactNative("onRouteStatusResult", code.toString());
}
});
if (pendingRoute != null) {
// Set an action to perform when a route is determined to the destination
pendingRoute.setOnResultListener(
code -> sendCommandToReactNative("onRouteStatusResult", code.toString()));
}
}

@ReactMethod
Expand All @@ -483,18 +481,6 @@ public void continueToNextDestination() {
}
}

private void setOnResultListener(IRouteStatusResult listener) {
// Set an action to perform when a route is determined to the destination
if (pendingRoute != null)
pendingRoute.setOnResultListener(
new ListenableResultFuture.OnResultListener<Navigator.RouteStatus>() {
@Override
public void onResult(Navigator.RouteStatus code) {
listener.onResult(code);
}
});
}

@ReactMethod
public void startGuidance() {
if (mWaypoints.isEmpty()) {
Expand Down Expand Up @@ -844,8 +830,4 @@ public void onHostPause() {}

@Override
public void onHostDestroy() {}

private interface IRouteStatusResult {
void onResult(Navigator.RouteStatus code);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -113,12 +113,18 @@ public static DisplayOptions getDisplayOptionsFromMap(Map map) {
options.hideDestinationMarkers(!CollectionUtil.getBool("showDestinationMarkers", map, true));
}

// Note: showStopSigns and showTrafficLights are deprecated in Navigation SDK 7.0.0
// and now default to true. These will be removed in SDK 8.0.0
if (map.containsKey("showStopSigns")) {
options.showStopSigns(CollectionUtil.getBool("showStopSigns", map, false));
boolean showStopSigns = CollectionUtil.getBool("showStopSigns", map, true);
//noinspection deprecation
options.showStopSigns(showStopSigns);
}

if (map.containsKey("showTrafficLights")) {
options.showTrafficLights(CollectionUtil.getBool("showTrafficLights", map, false));
boolean showTrafficLights = CollectionUtil.getBool("showTrafficLights", map, true);
//noinspection deprecation
options.showTrafficLights(showTrafficLights);
}

return options;
Expand Down
2 changes: 1 addition & 1 deletion example/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ dependencies {
implementation "androidx.car.app:app-projected:1.4.0"

// Include the Google Navigation SDK.
implementation 'com.google.android.libraries.navigation:navigation:6.3.1'
implementation 'com.google.android.libraries.navigation:navigation:7.0.0'
}

secrets {
Expand Down
125 changes: 37 additions & 88 deletions example/src/screens/MultipleMapsScreen.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,6 @@ const MultipleMapsScreen = () => {
console.log('mapViewController1 changed', mapViewController1);
}, [mapViewController1]);

const onRouteChanged = useCallback(() => {
showSnackbar('Route Changed');
}, []);

const onArrival = useCallback(
(event: ArrivalEvent) => {
if (event.isFinalDestination) {
Expand All @@ -104,10 +100,6 @@ const MultipleMapsScreen = () => {
[navigationController]
);

const onTrafficUpdated = useCallback(() => {
showSnackbar('Traffic Updated');
}, []);

const onNavigationReady = useCallback(async () => {
if (navigationViewController1 != null) {
await navigationViewController1.setNavigationUIEnabled(true);
Expand All @@ -128,38 +120,6 @@ const MultipleMapsScreen = () => {
[]
);

const onStartGuidance = useCallback(() => {
showSnackbar('Start Guidance');
}, []);

const onRouteStatusOk = useCallback(() => {
showSnackbar('Route created');
}, []);

const onRouteCancelled = useCallback(() => {
showSnackbar('Error: Route Cancelled');
}, []);

const onNoRouteFound = useCallback(() => {
showSnackbar('Error: No Route Found');
}, []);

const onNetworkError = useCallback(() => {
showSnackbar('Error: Network Error');
}, []);

const onStartingGuidanceError = useCallback(() => {
showSnackbar('Error: Starting Guidance Error');
}, []);

const onLocationDisabled = useCallback(() => {
showSnackbar('Error: Location Disabled');
}, []);

const onLocationUnknown = useCallback(() => {
showSnackbar('Error: Location Unknown');
}, []);

const onLocationChanged = useCallback((location: Location) => {
console.log('onLocationChanged: ', location);
}, []);
Expand All @@ -175,66 +135,55 @@ const MultipleMapsScreen = () => {
console.log('onRemainingTimeOrDistanceChanged', currentTimeAndDistance);
}, [navigationController]);

const onRouteStatusResult = useCallback(
(routeStatus: RouteStatus) => {
switch (routeStatus) {
case RouteStatus.OK:
onRouteStatusOk();
break;
case RouteStatus.ROUTE_CANCELED:
onRouteCancelled();
break;
case RouteStatus.NO_ROUTE_FOUND:
onNoRouteFound();
break;
case RouteStatus.NETWORK_ERROR:
onNetworkError();
break;
case RouteStatus.LOCATION_DISABLED:
onLocationDisabled();
break;
case RouteStatus.LOCATION_UNKNOWN:
onLocationUnknown();
break;
default:
console.log('routeStatus: ' + routeStatus);
onStartingGuidanceError();
}
},
[
onRouteStatusOk,
onRouteCancelled,
onNoRouteFound,
onNetworkError,
onLocationDisabled,
onLocationUnknown,
onStartingGuidanceError,
]
);
const onRouteStatusResult = useCallback((routeStatus: RouteStatus) => {
switch (routeStatus) {
case RouteStatus.OK:
showSnackbar('Route created');
break;
case RouteStatus.ROUTE_CANCELED:
showSnackbar('Error: Route Cancelled');
break;
case RouteStatus.NO_ROUTE_FOUND:
showSnackbar('Error: No Route Found');
break;
case RouteStatus.NETWORK_ERROR:
showSnackbar('Error: Network Error');
break;
case RouteStatus.LOCATION_DISABLED:
showSnackbar('Error: Location Disabled');
break;
case RouteStatus.LOCATION_UNKNOWN:
showSnackbar('Error: Location Unknown');
break;
case RouteStatus.DUPLICATE_WAYPOINTS_ERROR:
showSnackbar('Error: Consecutive duplicate waypoints are not allowed');
break;
default:
console.log('routeStatus: ' + routeStatus);
showSnackbar('Error: Starting Guidance Error');
}
}, []);

const navigationCallbacks: NavigationCallbacks = useMemo(
() => ({
onRouteChanged,
onRouteChanged: () => showSnackbar('Route Changed'),
onArrival,
onNavigationReady,
onNavigationInitError,
onLocationChanged,
onRawLocationChanged,
onTrafficUpdated,
onTrafficUpdated: () => showSnackbar('Traffic Updated'),
onRouteStatusResult,
onStartGuidance,
onStartGuidance: () => showSnackbar('Start Guidance'),
onRemainingTimeOrDistanceChanged,
}),
[
onRouteChanged,
onArrival,
onNavigationReady,
onNavigationInitError,
onLocationChanged,
onRawLocationChanged,
onTrafficUpdated,
onRouteStatusResult,
onStartGuidance,
onRemainingTimeOrDistanceChanged,
]
);
Expand All @@ -260,17 +209,17 @@ const MultipleMapsScreen = () => {
console.log('onRecenterButtonClick');
}, []);

const onShowNavControlsClick = useCallback(() => {
const onShowNavControlsClick = () => {
setOverlayType(OverlayType.NavControls);
}, []);
};

const onShowMapsControlsClick1 = useCallback(() => {
const onShowMapsControlsClick1 = () => {
setOverlayType(OverlayType.MapControls1);
}, []);
};

const onShowMapsControlsClick2 = useCallback(() => {
const onShowMapsControlsClick2 = () => {
setOverlayType(OverlayType.MapControls2);
}, []);
};

const navigationViewCallbacks: NavigationViewCallbacks = useMemo(
() => ({
Expand Down
Loading
Loading