stadiamaps / stadiamaps/ferrostar
Current road name provider
- Dominant language
- Kotlin
- Stars
- 419
- Forks
- 81
- Avg merge
- 6d 1h
- Merged PRs (30d)
- 7
Description
Most routing APIs attempt to reduce things to logical maneuvers. To avoid being annoying, they typically don't generate a new maneuver when a road name change happens, but the user continues "straight."
For an example, consider this road in OSM: https://www.openstreetmap.org/way/555210739
When proceeding north, nothing will indicate that the road name changed in a typical Valhalla or OSRM response.
Valhalla offers one possible solution in the trace attributes API which could be used to augment the existing information.
Another option is enabling the developer to specify a tile query for MapLibre to extract the current road name, but this seems problematic as many cases will be ambiguous.
We should come up with an interface that enables users to derive the current road name using some method besides the current method, which is necessarily limited to a (static) name per step.
This can be a trait in the core, with a default implementation provided that looks at the step road name as it does today.
Before deciding on a design, we should look at other APIs and MapLibre code to see if there are better alternatives already.
Contributor guide
Research direction
Start by reviewing the Valhalla trace attributes API, MapLibre code, and other routing APIs for ways to expose the current road name after a name change. Done means agreeing on an interface or core trait that supports this use case while retaining the existing step road-name behavior as the default.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- mobile-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100