mapbox / mapbox/mapbox-navigation-ios
Expand shield coverage beyond the United States
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 918
- Forks
- 326
- Avg merge
- 1h 16m
- Merged PRs (30d)
- 3
Description
The turn banner and step table show graphical route shields for a number of route networks in the United States. Shields.plist maps `ref` prefixes to file name patterns on Wikimedia Commons. Commons has a much larger repertoire of shields, but we’ve run up against the limits of parsing the `ref` tag on ways, and even what we have now is prone to false positives. For example:
* [`CA`](https://github.com/mapbox/mapbox-navigation-ios/blob/1677c6479a2a293172a4a4d1e3ea45e5c1e3707b/MapboxNavigation/Resources/Shields.plist#L29-L30) may denote California or Cantabría, Spain
* [`NH`](https://github.com/mapbox/mapbox-navigation-ios/blob/1677c6479a2a293172a4a4d1e3ea45e5c1e3707b/MapboxNavigation/Resources/Shields.plist#L83-L84) may denote New Hampshire or National Highway (e.g., in India)
* [`CO`](https://github.com/mapbox/mapbox-navigation-ios/blob/1677c6479a2a293172a4a4d1e3ea45e5c1e3707b/MapboxNavigation/Resources/Shields.plist#L31-L32) may denote Colorado or a county road.
* We can’t add support for German shields to the turn banner, because we can’t tell whether to use a German, Austrian, Australian, or Chinese shield for [`A`](https://en.wikipedia.org/wiki/A_road).
Unfortunately, there isn’t a better way to distinguish shields internationally until either Project-OSRM/osrm-backend#482 or Project-OSRM/osrm-backend#333 is implemented. This issue affects routes in the U.S. as well: state trunkline highways in Michigan have the prefix `M`, which is identical to motorways in several other countries.
For more background on graphical route shields and why they matter in navigation, see gravitystorm/openstreetmap-carto#508 and [this OSM diary entry](http://www.openstreetmap.org/user/Minh%20Nguyen/diary/39123), or watch [this talk from State of the Map 2011](https://wiki.openstreetmap.org/wiki/SotM_2011_session:_Shields_Up!).
/ref https://github.com/mapbox/mapbox-navigation-ios/issues/286#issuecomment-309649781
/cc @ericrwolfe @danpat @freenerd
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with MapboxNavigation/Resources/Shields.plist and the turn banner and step table code that consumes it. Review the referenced OSRM issues #482 and #333 to determine whether the required route-network information is available. The issue is done only when shields can be expanded internationally without the documented false positives and with consistent turn-banner behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- mobile
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100