diff --git a/css/map.css b/css/map.css index 51e29a1c6..325238d87 100644 --- a/css/map.css +++ b/css/map.css @@ -622,6 +622,10 @@ text { opacity: .7; } +.oneway .textpath.tag-waterway { + fill: #002F35; +} + text.tag-oneway { fill:#91CFFF; stroke:#2C6B9B; diff --git a/js/id/core/way.js b/js/id/core/way.js index 3e9aa8571..e520f223a 100644 --- a/js/id/core/way.js +++ b/js/id/core/way.js @@ -33,7 +33,9 @@ _.extend(iD.Way.prototype, { }, isOneWay: function() { - return this.tags.oneway === 'yes'; + return this.tags.oneway === 'yes' || + this.tags.waterway === 'river' || + this.tags.waterway === 'stream'; }, isClosed: function() { diff --git a/js/id/svg/lines.js b/js/id/svg/lines.js index 402181142..0e91f2ce2 100644 --- a/js/id/svg/lines.js +++ b/js/id/svg/lines.js @@ -105,8 +105,9 @@ iD.svg.Lines = function(projection) { var lines = []; for (var i = 0; i < entities.length; i++) { - var entity = entities[i], outer; - if (outer = simpleMultipolygonOuterMember(entity, graph)) { + var entity = entities[i], + outer = simpleMultipolygonOuterMember(entity, graph); + if (outer) { lines.push(entity.mergeTags(outer.tags)); } else if (entity.geometry(graph) === 'line') { lines.push(entity); @@ -150,11 +151,14 @@ iD.svg.Lines = function(projection) { .filter(filter) .data(oneways, iD.Entity.key); + var tagClasses = iD.svg.TagClasses(); + var tp = labels.enter() .append('text') .attr({ 'class': 'oneway', dy: 4 }) .append('textPath') - .attr('class', 'textpath'); + .attr('class', 'textpath') + .call(tagClasses); labels.exit().remove();