diff --git a/CHANGELOG.md b/CHANGELOG.md index 47dd759e9..13f1ca900 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,7 @@ _Breaking developer changes, which may affect downstream projects or sites that #### :mortar_board: Walkthrough / Help #### :rocket: Presets * Render `highway=ladder` in a style similar to stairs ([#10257], thanks [@k-yle]) +* Render arrows on lines with `conveying` tag ([#10255], thanks [@k-yle]) #### :hammer: Development * Update dependencies, including `osm-community-index` to v5.7, `osm-auth` to v2.5 @@ -62,6 +63,7 @@ _Breaking developer changes, which may affect downstream projects or sites that [#8994]: https://github.com/openstreetmap/iD/issues/8994 [#9993]: https://github.com/openstreetmap/iD/issues/9993 [#10181]: https://github.com/openstreetmap/iD/pull/10181 +[#10255]: https://github.com/openstreetmap/iD/pull/10255 [#10257]: https://github.com/openstreetmap/iD/pull/10257 [@zbycz]: https://github.com/zbycz diff --git a/modules/osm/tags.js b/modules/osm/tags.js index d13129935..ff5806eec 100644 --- a/modules/osm/tags.js +++ b/modules/osm/tags.js @@ -135,6 +135,11 @@ export var osmOneWayTags = { 't-bar': true, 'zip_line': true }, + 'conveying': { + 'forward': true, + 'backward': true, + 'reversible': true, + }, 'highway': { 'motorway': true }, diff --git a/modules/svg/lines.js b/modules/svg/lines.js index d380c5658..e960087f2 100644 --- a/modules/svg/lines.js +++ b/modules/svg/lines.js @@ -254,9 +254,18 @@ export function svgLines(projection, context) { var onewayArr = v.filter(function(d) { return d.isOneWay(); }); var onewaySegments = svgMarkerSegments( projection, graph, 35, - function shouldReverse(entity) { return entity.tags.oneway === '-1'; }, + function shouldReverse(entity) { + return ( + entity.tags.oneway === '-1' + || entity.tags.conveying === 'backward' + ); + }, function bothDirections(entity) { - return entity.tags.oneway === 'reversible' || entity.tags.oneway === 'alternating'; + return ( + entity.tags.oneway === 'alternating' + || entity.tags.oneway === 'reversible' + || entity.tags.conveying === 'reversible' + ); } ); onewaydata[k] = utilArrayFlatten(onewayArr.map(onewaySegments));