Note that this is a draft article. This will either need to be included in a more accessible article once this has been finalized (most likely into Junction Arrows then) or maybe it is worth being a separate article.
Turn Instruction Overrides (Turn Guidance)
This makes it possible to override the following aspects of each turn:
- The text of the audible guidance of text-to-speech (TTS) voices (or to disable audible guidance)
- The display of the visual guidance, including which turn instruction you get, the displayed text, road shields and exit signs (or to disable visible guidance)
This capability allows generating precise instructions, better aligned with the physical signalisation. As such, please avoid using micro-doglegs (mDL) from now on. This technique, used to alter the turn instruction by modifying the angle, is no longer needed. The mDL technique also sometimes causes weird user placements on the map and should therefore be avoided.
Instruction overrides allow us to simplify some segment names. Previously, some segments where artificially named in order to generate adequate instructions. Before we rename or merge these segments, the feature needs to have gone live to all clients.
Ideally, all road turns for which there are physical destination signs on the road will have a turn instruction override to represent that information in the audible and visible instructions in the app. If there are several signs, only copy the destinations on the blue directional signs (exception: industrial zone names on white signs). This is a great improvement over the default turn instructions, that only give an idea of what sort of turn to take and the street name you'll be going to.
Turn Instruction Overrides are available for all regular junctions and roundabouts. For roundabouts, the voice prompt (left, right, continue, keep left, ...) should never be adjusted though. The app will use any turn instruction overrides on roundabout exits at the entrance of the roundabout. Junction boxes on roundabouts will become available to allow for custom voice prompts in instruction overrides.
Road shields in turn instruction overrides
To add a road shield to an instruction, you select it from a list. That list only includes road shields from streets that are currently visible on the Waze Map Editor screen. So if a shield is missing, zooming out or moving the map will show you more shields in the list. Any changes to that road shield on the street will not change the road shield used in the instruction override as the shield is duplicated. If the shield you want to add doesn't exist yet, you can temporarily create a shield on a nearby street and then use that shield in the instruction override. Don't forget to remove the shield from that street afterwards.
Make sure to leave the direction information field for a road shield empty. This field is present for countries that add a cardinal direction to road numbers (e.g. Route 66 North). If you want to add text like a street name behind the road shield, you should add a "Free text" field with the plus button instead.
There is no practical use for drivers to get a road shield for a road number that isn't physically signposted. As such we do not want to add shields for road numbers that aren't shown on direction signs.
The instruction overrides feature also allows you to add one or more exit signs to the instructions. An exit sign can be used to show the exit number in the same way as it is signposted alongside the road. The name of the exit should be put as the visual instruction.
A road shield may be added to the visual instruction, if it present on the physical exit sign. If destinations are listed on the physical exit sign, these may be added in the "Towards" field. Make sure to also add these destinations to the TTS override.
As a fallback mechanism, we still want the exit ramps to have a street name as they were before (Afrit/Sortie # > destination). This is fine as the name of ramp segments is not visible in the app or livemap. This will allow older app versions to continue to work and allows newer app versions to still give proper instructions should we ever forget to add the instruction override.