mapbox / mapbox/mapbox-navigation-ios

Expand shield coverage beyond the United States

Open
#334 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

archived blocked feature topic: localization
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.