googlemaps / googlemaps/react-native-navigation-sdk

[Bug]: preferSameSideOfRoad property in Waypoint ignored on Android SDK

Open
#453 8 comments 1 reaction 1 assignee Claimed by @illuminati1911 View on GitHub
native sdk issue status: investigating type: bug
Dominant language
TypeScript
Stars
227
Forks
38
Avg merge
5d 7h
Merged PRs (30d)
10

Description

### Is there an existing issue for this?

- [x] I have searched the existing issues

### Description of the bug

Android SDK consistently ignores the preferSameSideOfRoad: true setting in Waypoint objects, causing navigation to route to the wrong side of the road.

### React Native version

0.73.10

### React version

18.2.0

### Package version

0.9.3

### Native SDK versions

- [x] I haven't changed the version of the native SDKs

### React Native Doctor Output

npm warn deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm warn deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm warn deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
Common
✓ Node.js - Required to execute JavaScript code
✓ yarn - Required to install NPM dependencies
✓ npm - Required to install NPM dependencies
✓ Watchman - Used for watching changes in the filesystem when in development mode
● Metro - Metro Bundler is not running

Android
✖ Adb - No devices and/or emulators connected. Please create emulator with Android Studio or connect Android device.
✓ JDK - Required to compile Java code
✓ Android Studio - Required for building and installing your app on Android
✓ ANDROID_HOME - Environment variable that points to your Android SDK installation
✓ Gradlew - Build tool required for Android builds
✖ Android SDK - Required for building and installing your app on Android
- Versions found: N/A
- Version supported: 34.0.0

iOS
✓ Xcode - Required for building and installing your app on iOS
✓ Ruby - Required for installing iOS dependencies
✓ CocoaPods - Required for installing iOS dependencies
● ios-deploy - Required for installing your app on a physical device with the CLI
✓ .xcode.env - File to customize Xcode environment

Errors: 2
Warnings: 2

### Steps to reproduce

1. Create a Waypoint with preferSameSideOfRoad: true
2. Call navigationController.setDestination(waypoint)
3. Retrieve the route segment via getCurrentRouteSegment()
4. Observe that destinationWaypoint.preferSameSideOfRoad is false

### Expected vs Actual Behavior

When the waypoint's `preferSameSideOfRoad` property is set to true, we expect it to remain true for the entire cycle of the navigation.

### Code Sample

```javascript
const waypoint: Waypoint = {
position: {
lat: 39.9450234,
lng: -86.101762
},
title: "Destination",
preferSameSideOfRoad: true  // ✅ WE SET THIS TO TRUE
}

await navigationController.setDestination(waypoint, routingOptions, displayOptions)

```

### Additional Context

```
// Retrieved via getCurrentRouteSegment()
{ "destinationWaypoint": {
"title": "Destination",
"preferSameSideOfRoad": false,  // ❌ SDK CONVERTED TO FALSE    
"position": {
"lng": -86.101762, "lat": 39.9450234
}
}
}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.