From 753ebab2adaf7562438486e060e9dcca88d5adc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Sat, 21 Jul 2012 16:00:45 +0200 Subject: [PATCH] Revert "add TileLayerRenderer.getPreferredZ_ plus tests". As noted by @twpayne, TileGrid.getZForResolution already returns the "preferred" z for an arbitrary resolution. This reverts commit 8f5d0ac642686a9e156ad0cf480a33a8ec2b13c1. --- src/ol/dom/tilelayerrenderer.js | 36 -------------- src/ol/dom/tilelayerrenderer_test.js | 73 ---------------------------- 2 files changed, 109 deletions(-) delete mode 100644 src/ol/dom/tilelayerrenderer_test.js diff --git a/src/ol/dom/tilelayerrenderer.js b/src/ol/dom/tilelayerrenderer.js index c5e3d634bd..ea9b287c63 100644 --- a/src/ol/dom/tilelayerrenderer.js +++ b/src/ol/dom/tilelayerrenderer.js @@ -134,39 +134,3 @@ ol.dom.TileLayerRenderer.prototype.removeInvisibleTiles_ = function( } } }; - - -/** - * Get the best/preferred z for an arbitrary resolution. - * @private - * @param {number} resolution Resolution. - * @return {number} Z. - * TODO: this should probably be shared with the WebGL TileLayerRenderer, - * but our current class hierarchy does not allow this sharing. -*/ -ol.dom.TileLayerRenderer.prototype.getPreferredZ_ = (function() { - var cache = {}; - return function(resolution) { - if (resolution in cache) { - return cache[resolution]; - } - var tileLayer = /** @type {ol.TileLayer} */ (this.getLayer()); - var tileStore = tileLayer.getStore(); - var tileGrid = tileStore.getTileGrid(); - var gridResolutions = tileGrid.getResolutions(); - var minDiff = Number.POSITIVE_INFINITY; - var candidate, diff, z, r; - for (var i = 0, ii = gridResolutions.length; i < ii; ++i) { - // assumes sorted resolutions - diff = Math.abs(resolution - gridResolutions[i]); - if (diff < minDiff) { - z = i; - minDiff = diff; - } else { - break; - } - } - cache[resolution] = z; - return z; - }; -})(); diff --git a/src/ol/dom/tilelayerrenderer_test.js b/src/ol/dom/tilelayerrenderer_test.js deleted file mode 100644 index 36f01d2eff..0000000000 --- a/src/ol/dom/tilelayerrenderer_test.js +++ /dev/null @@ -1,73 +0,0 @@ -goog.require('goog.dom'); -goog.require('goog.dom.TagName'); -goog.require('goog.testing.jsunit'); -goog.require('ol.Coordinate'); -goog.require('ol.Extent'); -goog.require('ol.Projection'); -goog.require('ol.TileGrid'); -goog.require('ol.TileLayer'); -goog.require('ol.TileStore'); -goog.require('ol.TileUrlFunction'); -goog.require('ol.dom.Map'); -goog.require('ol.dom.TileLayerRenderer'); - - -var tileLayerRenderer; - - -function setUp() { - var map = new ol.dom.Map( - goog.dom.createElement(goog.dom.TagName.DIV)); - - var resolutions = [100, 80, 50, 10, 1, 0.1]; - var extent = new ol.Extent(0, 0, 100000, 100000); - var origin = new ol.Coordinate(0, 0); - var tileGrid = new ol.TileGrid(resolutions, extent, origin); - - var projection = ol.Projection.getFromCode('EPSG:3857'); - var tileUrlFunction = ol.TileUrlFunction.createFromTemplate('{z}/{x}/{y}'); - var tileStore = new ol.TileStore(projection, tileGrid, tileUrlFunction); - - var tileLayer = new ol.TileLayer(tileStore); - - tileLayerRenderer = new ol.dom.TileLayerRenderer( - map, tileLayer, - goog.dom.createElement(goog.dom.TagName.DIV)); -} - - -function testGetPreferredZ() { - - var z; - - // gets the max resolution. - z = tileLayerRenderer.getPreferredZ_(100); - assertEquals(0, z); - - // gets the min resolution. - z = tileLayerRenderer.getPreferredZ_(0.1); - assertEquals(5, z); - - // gets the max when bigger. - z = tileLayerRenderer.getPreferredZ_(200); - assertEquals(0, z); - - // gets the min when smaller. - z = tileLayerRenderer.getPreferredZ_(0.01); - assertEquals(5, z); - - // gets the first when in the middle. - z = tileLayerRenderer.getPreferredZ_(90); - assertEquals(0, z); - - // gets the closer when elsewhere. - - z = tileLayerRenderer.getPreferredZ_(89); - assertEquals(1, z); - - z = tileLayerRenderer.getPreferredZ_(49); - assertEquals(2, z); - - z = tileLayerRenderer.getPreferredZ_(0.5); - assertEquals(5, z); -}