From ab566c8fa7e53d8829d26167478c72c9233bfad3 Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Fri, 12 Jul 2013 15:44:59 -0700 Subject: [PATCH] Respect tile layer minimum scaleExtent Rather than attempting to render an exponential number of tiles for each z less that the minimum, render none. --- js/id/renderer/background.js | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/js/id/renderer/background.js b/js/id/renderer/background.js index 4ad0283a9..804a23c96 100644 --- a/js/id/renderer/background.js +++ b/js/id/renderer/background.js @@ -76,18 +76,20 @@ iD.Background = function(backgroundType) { function render(selection) { var requests = []; - tile().forEach(function(d) { - addSource(d); - requests.push(d); - if (cache[d[3]] === false && lookUp(d)) { - requests.push(addSource(lookUp(d))); - } - }); + if (tile.scaleExtent()[0] <= z) { + tile().forEach(function(d) { + addSource(d); + requests.push(d); + if (cache[d[3]] === false && lookUp(d)) { + requests.push(addSource(lookUp(d))); + } + }); - requests = uniqueBy(requests, 3).filter(function(r) { - // don't re-request tiles which have failed in the past - return cache[r[3]] !== false; - }); + requests = uniqueBy(requests, 3).filter(function(r) { + // don't re-request tiles which have failed in the past + return cache[r[3]] !== false; + }); + } var pixelOffset = [ Math.round(offset[0] * Math.pow(2, z)),