From 20cf935c46b75bd1ef466e068ae2c70c32e1115c Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Mon, 26 Aug 2013 16:33:03 -0700 Subject: [PATCH] Optimize iD.svg.Labels --- js/id/svg/labels.js | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/js/id/svg/labels.js b/js/id/svg/labels.js index 75190e604..7256e223a 100644 --- a/js/id/svg/labels.js +++ b/js/id/svg/labels.js @@ -263,18 +263,23 @@ iD.svg.Labels = function(projection, context) { // Split entities into groups specified by label_stack for (i = 0; i < entities.length; i++) { entity = entities[i]; - var geometry = entity.geometry(graph), - preset = geometry === 'area' && context.presets().match(entity, graph), + var geometry = entity.geometry(graph); + + if (geometry === 'vertex') + continue; + if (hidePoints && geometry === 'point') + continue; + + var preset = geometry === 'area' && context.presets().match(entity, graph), icon = preset && !blacklisted(preset) && preset.icon; - if ((iD.util.displayName(entity) || icon) && !(hidePoints && geometry === 'point')) { + if (!icon && !iD.util.displayName(entity)) + continue; - for (k = 0; k < label_stack.length; k ++) { - if (entity.geometry(graph) === label_stack[k][0] && - entity.tags[label_stack[k][1]]) { - labelable[k].push(entity); - break; - } + for (k = 0; k < label_stack.length; k ++) { + if (geometry === label_stack[k][0] && entity.tags[label_stack[k][1]]) { + labelable[k].push(entity); + break; } } }