diff --git a/src/ol/layer/tilelayer.js b/src/ol/layer/tilelayer.js index 9aa70cf5ab..99fa2f4a2c 100644 --- a/src/ol/layer/tilelayer.js +++ b/src/ol/layer/tilelayer.js @@ -30,18 +30,24 @@ ol.layer.TileProperty = { ol.layer.Tile = function(opt_options) { var options = goog.isDef(opt_options) ? opt_options : {}; goog.base(this, /** @type {olx.layer.LayerOptions} */ (options)); + + if (!goog.isDef(this.getPreload())) { + this.setPreload(0); + } + if (!goog.isDef(this.getUseInterimTilesOnError())) { + this.setUseInterimTilesOnError(true); + } }; goog.inherits(ol.layer.Tile, ol.layer.Layer); /** - * @return {number|undefined} The level to preload tiles up to. + * @return {number} The level to preload tiles up to. * @observable * @api */ ol.layer.Tile.prototype.getPreload = function() { - return /** @type {number|undefined} */ ( - this.get(ol.layer.TileProperty.PRELOAD)); + return /** @type {number} */ (this.get(ol.layer.TileProperty.PRELOAD)); }; goog.exportProperty( ol.layer.Tile.prototype, @@ -72,12 +78,12 @@ goog.exportProperty( /** - * @return {boolean|undefined} Use interim tiles on error. + * @return {boolean} Use interim tiles on error. * @observable * @api */ ol.layer.Tile.prototype.getUseInterimTilesOnError = function() { - return /** @type {boolean|undefined} */ ( + return /** @type {boolean} */ ( this.get(ol.layer.TileProperty.USE_INTERIM_TILES_ON_ERROR)); }; goog.exportProperty( @@ -87,7 +93,7 @@ goog.exportProperty( /** - * @param {boolean|undefined} useInterimTilesOnError Use interim tiles on error. + * @param {boolean} useInterimTilesOnError Use interim tiles on error. * @observable * @api */ diff --git a/src/ol/renderer/canvas/canvastilelayerrenderer.js b/src/ol/renderer/canvas/canvastilelayerrenderer.js index 978aa41aa4..b4549b1ad8 100644 --- a/src/ol/renderer/canvas/canvastilelayerrenderer.js +++ b/src/ol/renderer/canvas/canvastilelayerrenderer.js @@ -281,9 +281,6 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = tilesToDrawByZ, getTileIfLoaded); var useInterimTilesOnError = tileLayer.getUseInterimTilesOnError(); - if (!goog.isDef(useInterimTilesOnError)) { - useInterimTilesOnError = true; - } var tmpExtent = ol.extent.createEmpty(); var tmpTileRange = new ol.TileRange(0, 0, 0, 0); diff --git a/src/ol/renderer/dom/domtilelayerrenderer.js b/src/ol/renderer/dom/domtilelayerrenderer.js index a2fdf6a44f..ca4b91d810 100644 --- a/src/ol/renderer/dom/domtilelayerrenderer.js +++ b/src/ol/renderer/dom/domtilelayerrenderer.js @@ -136,9 +136,6 @@ ol.renderer.dom.TileLayer.prototype.prepareFrame = tilesToDrawByZ, getTileIfLoaded); var useInterimTilesOnError = tileLayer.getUseInterimTilesOnError(); - if (!goog.isDef(useInterimTilesOnError)) { - useInterimTilesOnError = true; - } var tmpExtent = ol.extent.createEmpty(); var tmpTileRange = new ol.TileRange(0, 0, 0, 0); diff --git a/src/ol/renderer/layerrenderer.js b/src/ol/renderer/layerrenderer.js index 356561bb0f..14a64db3cb 100644 --- a/src/ol/renderer/layerrenderer.js +++ b/src/ol/renderer/layerrenderer.js @@ -246,8 +246,7 @@ ol.renderer.Layer.prototype.snapCenterToPixel = * @param {ol.proj.Projection} projection Projection. * @param {ol.Extent} extent Extent. * @param {number} currentZ Current Z. - * @param {number|undefined} preload Load low resolution tiles up to 'preload' - * levels. + * @param {number} preload Load low resolution tiles up to 'preload' levels. * @param {function(this: T, ol.Tile)=} opt_tileCallback Tile callback. * @param {T=} opt_this Object to use as `this` in `opt_tileCallback`. * @protected @@ -264,9 +263,6 @@ ol.renderer.Layer.prototype.manageTilePyramid = function( var tileQueue = frameState.tileQueue; var minZoom = tileGrid.getMinZoom(); var tile, tileRange, tileResolution, x, y, z; - if (!goog.isDef(preload)) { - preload = 0; - } for (z = currentZ; z >= minZoom; --z) { tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z, tileRange); tileResolution = tileGrid.getResolution(z); diff --git a/src/ol/renderer/webgl/webgltilelayerrenderer.js b/src/ol/renderer/webgl/webgltilelayerrenderer.js index 005eebcf38..68ceed8d0d 100644 --- a/src/ol/renderer/webgl/webgltilelayerrenderer.js +++ b/src/ol/renderer/webgl/webgltilelayerrenderer.js @@ -198,10 +198,6 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame = tilesToDrawByZ, getTileIfLoaded); var useInterimTilesOnError = tileLayer.getUseInterimTilesOnError(); - if (!goog.isDef(useInterimTilesOnError)) { - useInterimTilesOnError = true; - } - var allTilesLoaded = true; var tmpExtent = ol.extent.createEmpty(); var tmpTileRange = new ol.TileRange(0, 0, 0, 0); diff --git a/test/spec/ol/layer/tilelayer.test.js b/test/spec/ol/layer/tilelayer.test.js new file mode 100644 index 0000000000..7b7b302c82 --- /dev/null +++ b/test/spec/ol/layer/tilelayer.test.js @@ -0,0 +1,37 @@ +goog.provide('ol.test.layer.Tile'); + +describe('ol.layer.Tile', function() { + + describe('constructor (defaults)', function() { + + var layer; + + beforeEach(function() { + layer = new ol.layer.Tile({ + source: new ol.source.OSM() + }); + }); + + afterEach(function() { + goog.dispose(layer); + }); + + it('creates an instance', function() { + expect(layer).to.be.a(ol.layer.Tile); + }); + + it('provides default preload', function() { + expect(layer.getPreload()).to.be(0); + }); + + it('provides default useInterimTilesOnError', function() { + expect(layer.getUseInterimTilesOnError()).to.be(true); + }); + + }); + +}); + +goog.require('goog.dispose'); +goog.require('ol.layer.Tile'); +goog.require('ol.source.OSM');