From db3a6e9c4a8d47fa7e1edd516564e585fd5ac501 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Fri, 22 Jun 2012 16:14:07 +0200 Subject: [PATCH] Get closest resolution. --- src/ol/renderer/TileLayerRenderer.js | 28 +++++++++- .../ol/renderer/TileLayerRenderer.test.js | 56 +++++++++++++++++++ 2 files changed, 83 insertions(+), 1 deletion(-) diff --git a/src/ol/renderer/TileLayerRenderer.js b/src/ol/renderer/TileLayerRenderer.js index 0ea501e38b..df7e66098e 100644 --- a/src/ol/renderer/TileLayerRenderer.js +++ b/src/ol/renderer/TileLayerRenderer.js @@ -26,6 +26,12 @@ ol.renderer.TileLayerRenderer = function(container, layer) { * @private */ this.rendererdBounds_ = null; + + /** + * @type {Array.} + */ + this.layerResolutions_ = layer.getResolutions(); + /** * @type {number|undefined} @@ -43,7 +49,27 @@ ol.renderer.TileLayerRenderer = function(container, layer) { goog.inherits(ol.renderer.TileLayerRenderer, ol.renderer.LayerRenderer); - +/** + * @param {number} resolution + * @return {Array.} + */ +ol.renderer.TileLayerRenderer.prototype.getPreferredResAndZ_ = function(resolution) { + var minDiff = Number.POSITIVE_INFINITY; + var candidate, diff, z, r; + for (var i=0, ii=this.layerResolutions_.length; i