Skip to content

[Bug]: Reroute near final destination waypoint causes active route to skip remaining course and navigate to final destination #4838

Description

Mapbox Navigation SDK version

3.25.0

Steps to reproduce

I have a driving route with multiple explicit waypoints. Intermediate waypoints are configured as silent via points using separatesLegs = false, because the route should be presented as one continuous course, but the driver must still pass through the course points in order.

The active navigation route is created with NavigationRouteOptions, not NavigationMatchOptions:

let waypoints = coordinates.map {
    Waypoint(coordinate: CLLocationCoordinate2D(latitude: $0.latitude, longitude: $0.longitude))
}

for index in waypoints.indices.dropFirst().dropLast() {
    waypoints[index].separatesLegs = false
}

let routeOptions = NavigationRouteOptions(waypoints: waypoints, profileIdentifier: .automobile)
routeOptions.includesAlternativeRoutes = false

let routes = try await mapboxNavigation.routingProvider()
    .calculateRoutes(options: routeOptions)
    .value

Start active guidance with the resulting NavigationRoutes.

Then intentionally go off-route at a point where the wrong turn lands the driver on, or near, a later section of the same route/course. This is easiest to reproduce on loop-shaped courses or routes that pass near themselves.

Expected behavior

When rerouting, the SDK should preserve all not-yet-reached via waypoints and continue guiding the driver through the remaining course in order.

In other words, if the driver has not actually passed waypoint N yet, the reroute should not skip waypoint N just because the driver’s current location is near a later part of the route geometry.

Actual behavior

After rerouting, the route sometimes cuts short and skips one or more required silent waypoints. In some cases it appears to route toward the final destination / later route geometry rather than the next required course point.

This can also cause arrival/end-of-route behavior to occur earlier than expected, before the driver has completed the required course.

Most of the routes I create start and end at similar points.

Is this a one-time issue or a repeatable issue?

repeatable

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn’t working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions