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
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, notNavigationMatchOptions: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