Do not output invalid linestrings. Fixes #360

Though switching back to geo paths with fill this even more.
This commit is contained in:
Tom MacWright
2013-01-12 01:38:29 -05:00
parent f9f1436007
commit cbe41f16d5
2 changed files with 14 additions and 4 deletions
+7 -2
View File
@@ -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) {
+7 -2
View File
@@ -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) {