diff --git a/package.json b/package.json index d8425ee..0936072 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tileserver-gl", - "version": "1.1.4", + "version": "1.1.5", "description": "Map tile server for JSON GL styles - vector and server side generated raster tiles", "main": "src/main.js", "bin": "src/main.js", diff --git a/src/serve_rendered.js b/src/serve_rendered.js index 1527be6..337b05b 100644 --- a/src/serve_rendered.js +++ b/src/serve_rendered.js @@ -432,14 +432,16 @@ module.exports = function(options, repo, params, id, dataResolver) { var minCorner = mercator.px([bbox[0], bbox[3]], z), maxCorner = mercator.px([bbox[2], bbox[1]], z); - w /= (1 + 2 * padding); - h /= (1 + 2 * padding); + var w_ = w / (1 + 2 * padding); + var h_ = h / (1 + 2 * padding); z -= Math.max( - Math.log((maxCorner[0] - minCorner[0]) / w), - Math.log((maxCorner[1] - minCorner[1]) / h) + Math.log((maxCorner[0] - minCorner[0]) / w_), + Math.log((maxCorner[1] - minCorner[1]) / h_) ) / Math.LN2; + z = Math.max(Math.log(Math.max(w, h) / 256) / Math.LN2, Math.min(25, z)); + return z; };