diff --git a/js/id/svg/areas.js b/js/id/svg/areas.js index e0c2cfed0..386f5f0c3 100644 --- a/js/id/svg/areas.js +++ b/js/id/svg/areas.js @@ -12,8 +12,13 @@ iD.svg.Areas = function() { var lineStrings = {}; function lineString(entity) { - return lineStrings[entity.id] || (lineStrings[entity.id] = - 'M' + _.pluck(entity.nodes, 'loc').map(iD.svg.RoundProjection(projection)).join('L')); + if (lineStrings[entity.id] !== undefined) { + return lineStrings[entity.id]; + } + var nodes = _.pluck(entity.nodes, 'loc'); + if (nodes.length === 0) return (lineStrings[entity.id] = ''); + else return (lineStrings[entity.id] = + 'M' + nodes.map(iD.svg.RoundProjection(projection)).join('L')); } function drawPaths(group, areas, filter, classes) { diff --git a/js/id/svg/lines.js b/js/id/svg/lines.js index 713432b8b..3a64c1b28 100644 --- a/js/id/svg/lines.js +++ b/js/id/svg/lines.js @@ -22,8 +22,13 @@ iD.svg.Lines = function() { var lineStrings = {}; function lineString(entity) { - return lineStrings[entity.id] || (lineStrings[entity.id] = - 'M' + _.pluck(entity.nodes, 'loc').map(iD.svg.RoundProjection(projection)).join('L')); + if (lineStrings[entity.id] !== undefined) { + return lineStrings[entity.id]; + } + var nodes = _.pluck(entity.nodes, 'loc'); + if (nodes.length === 0) return (lineStrings[entity.id] = ''); + else return (lineStrings[entity.id] = + 'M' + nodes.map(iD.svg.RoundProjection(projection)).join('L')); } function drawPaths(group, lines, filter, classes) {