diff --git a/js/id/svg/areas.js b/js/id/svg/areas.js index 386f5f0c3..b4a8a36f5 100644 --- a/js/id/svg/areas.js +++ b/js/id/svg/areas.js @@ -1,5 +1,5 @@ iD.svg.Areas = function() { - return function(surface, graph, entities, filter, projection) { + return function drawAreas(surface, graph, entities, filter, projection) { var areas = []; for (var i = 0; i < entities.length; i++) { diff --git a/js/id/svg/lines.js b/js/id/svg/lines.js index 164613d0d..3f1b634d7 100644 --- a/js/id/svg/lines.js +++ b/js/id/svg/lines.js @@ -53,7 +53,7 @@ iD.svg.Lines = function() { return paths; } - return function(surface, graph, entities, filter, projection) { + return function drawLines(surface, graph, entities, filter, projection) { if (!alength) { var arrow = surface.append('text').text(arrowtext); diff --git a/js/id/svg/midpoints.js b/js/id/svg/midpoints.js index 185afc696..9c060ea3b 100644 --- a/js/id/svg/midpoints.js +++ b/js/id/svg/midpoints.js @@ -1,5 +1,5 @@ iD.svg.Midpoints = function() { - return function(surface, graph, entities, filter, projection) { + return function drawMidpoints(surface, graph, entities, filter, projection) { var midpoints = []; for (var i = 0; i < entities.length; i++) { diff --git a/js/id/svg/points.js b/js/id/svg/points.js index 9015f1d5d..7a2600814 100644 --- a/js/id/svg/points.js +++ b/js/id/svg/points.js @@ -10,7 +10,7 @@ iD.svg.Points = function() { return 'icons/unknown.png'; } - return function(surface, graph, entities, filter, projection) { + return function drawPoints(surface, graph, entities, filter, projection) { var points = []; for (var i = 0; i < entities.length; i++) { @@ -20,6 +20,10 @@ iD.svg.Points = function() { } } + if (points.length > 100) { + return surface.select('.layer-hit').selectAll('g.point').remove(); + } + var groups = surface.select('.layer-hit').selectAll('g.point') .filter(filter) .data(points, iD.Entity.key); diff --git a/js/id/svg/surface.js b/js/id/svg/surface.js index 5c19a0c65..9fb64ca0e 100644 --- a/js/id/svg/surface.js +++ b/js/id/svg/surface.js @@ -1,5 +1,5 @@ iD.svg.Surface = function() { - return function(selection) { + return function drawSurface(selection) { selection.append('defs') .append('clipPath') .attr('id', 'clip') diff --git a/js/id/svg/vertices.js b/js/id/svg/vertices.js index 36363fbff..700ef5538 100644 --- a/js/id/svg/vertices.js +++ b/js/id/svg/vertices.js @@ -1,5 +1,5 @@ iD.svg.Vertices = function() { - return function(surface, graph, entities, filter, projection) { + return function drawVertices(surface, graph, entities, filter, projection) { var vertices = []; for (var i = 0; i < entities.length; i++) { @@ -9,6 +9,10 @@ iD.svg.Vertices = function() { } } + if (vertices.length > 2000) { + return surface.select('.layer-hit').selectAll('g.vertex').remove(); + } + var groups = surface.select('.layer-hit').selectAll('g.vertex') .filter(filter) .data(vertices, iD.Entity.key);