diff --git a/lib/carto/renderer_js.js b/lib/carto/renderer_js.js index 906086b..9e024ed 100644 --- a/lib/carto/renderer_js.js +++ b/lib/carto/renderer_js.js @@ -229,6 +229,8 @@ CartoCSS.prototype = { // serach the max index to know rendering order lyr.index = _.max(props[v].map(function(a) { return a.index; }).concat(lyr.index)); lyr.constant = !_.any(props[v].map(function(a) { return !a.constant; })); + // True when the property is filtered. + lyr.filtered = props[v][0].filtered; } } diff --git a/lib/carto/tree/definition.js b/lib/carto/tree/definition.js index 2ba7fc7..10aa271 100644 --- a/lib/carto/tree/definition.js +++ b/lib/carto/tree/definition.js @@ -236,7 +236,11 @@ tree.Definition.prototype.toJS = function(env) { } r.constant = rule.value.ev(env).is !== 'field'; - r.filtered = !!_if; + var DEFAULT_FILTER = "(8388607 & (1 << ctx.zoom))"; + r.filtered = false; + if (_if && _if !== DEFAULT_FILTER){ + r.filtered = true; + } shaderAttrs[rule.name].push(r); } else {