Merge pull request #3100 from fredj/tilelayer-attr
Assert that ol.layer.Tile#getPreload is always set
This commit is contained in:
@@ -30,18 +30,24 @@ ol.layer.TileProperty = {
|
|||||||
ol.layer.Tile = function(opt_options) {
|
ol.layer.Tile = function(opt_options) {
|
||||||
var options = goog.isDef(opt_options) ? opt_options : {};
|
var options = goog.isDef(opt_options) ? opt_options : {};
|
||||||
goog.base(this, /** @type {olx.layer.LayerOptions} */ (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);
|
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
|
* @observable
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
ol.layer.Tile.prototype.getPreload = function() {
|
ol.layer.Tile.prototype.getPreload = function() {
|
||||||
return /** @type {number|undefined} */ (
|
return /** @type {number} */ (this.get(ol.layer.TileProperty.PRELOAD));
|
||||||
this.get(ol.layer.TileProperty.PRELOAD));
|
|
||||||
};
|
};
|
||||||
goog.exportProperty(
|
goog.exportProperty(
|
||||||
ol.layer.Tile.prototype,
|
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
|
* @observable
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
ol.layer.Tile.prototype.getUseInterimTilesOnError = function() {
|
ol.layer.Tile.prototype.getUseInterimTilesOnError = function() {
|
||||||
return /** @type {boolean|undefined} */ (
|
return /** @type {boolean} */ (
|
||||||
this.get(ol.layer.TileProperty.USE_INTERIM_TILES_ON_ERROR));
|
this.get(ol.layer.TileProperty.USE_INTERIM_TILES_ON_ERROR));
|
||||||
};
|
};
|
||||||
goog.exportProperty(
|
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
|
* @observable
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -281,9 +281,6 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame =
|
|||||||
tilesToDrawByZ, getTileIfLoaded);
|
tilesToDrawByZ, getTileIfLoaded);
|
||||||
|
|
||||||
var useInterimTilesOnError = tileLayer.getUseInterimTilesOnError();
|
var useInterimTilesOnError = tileLayer.getUseInterimTilesOnError();
|
||||||
if (!goog.isDef(useInterimTilesOnError)) {
|
|
||||||
useInterimTilesOnError = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
var tmpExtent = ol.extent.createEmpty();
|
var tmpExtent = ol.extent.createEmpty();
|
||||||
var tmpTileRange = new ol.TileRange(0, 0, 0, 0);
|
var tmpTileRange = new ol.TileRange(0, 0, 0, 0);
|
||||||
|
|||||||
@@ -136,9 +136,6 @@ ol.renderer.dom.TileLayer.prototype.prepareFrame =
|
|||||||
tilesToDrawByZ, getTileIfLoaded);
|
tilesToDrawByZ, getTileIfLoaded);
|
||||||
|
|
||||||
var useInterimTilesOnError = tileLayer.getUseInterimTilesOnError();
|
var useInterimTilesOnError = tileLayer.getUseInterimTilesOnError();
|
||||||
if (!goog.isDef(useInterimTilesOnError)) {
|
|
||||||
useInterimTilesOnError = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
var tmpExtent = ol.extent.createEmpty();
|
var tmpExtent = ol.extent.createEmpty();
|
||||||
var tmpTileRange = new ol.TileRange(0, 0, 0, 0);
|
var tmpTileRange = new ol.TileRange(0, 0, 0, 0);
|
||||||
|
|||||||
@@ -246,8 +246,7 @@ ol.renderer.Layer.prototype.snapCenterToPixel =
|
|||||||
* @param {ol.proj.Projection} projection Projection.
|
* @param {ol.proj.Projection} projection Projection.
|
||||||
* @param {ol.Extent} extent Extent.
|
* @param {ol.Extent} extent Extent.
|
||||||
* @param {number} currentZ Current Z.
|
* @param {number} currentZ Current Z.
|
||||||
* @param {number|undefined} preload Load low resolution tiles up to 'preload'
|
* @param {number} preload Load low resolution tiles up to 'preload' levels.
|
||||||
* levels.
|
|
||||||
* @param {function(this: T, ol.Tile)=} opt_tileCallback Tile callback.
|
* @param {function(this: T, ol.Tile)=} opt_tileCallback Tile callback.
|
||||||
* @param {T=} opt_this Object to use as `this` in `opt_tileCallback`.
|
* @param {T=} opt_this Object to use as `this` in `opt_tileCallback`.
|
||||||
* @protected
|
* @protected
|
||||||
@@ -264,9 +263,6 @@ ol.renderer.Layer.prototype.manageTilePyramid = function(
|
|||||||
var tileQueue = frameState.tileQueue;
|
var tileQueue = frameState.tileQueue;
|
||||||
var minZoom = tileGrid.getMinZoom();
|
var minZoom = tileGrid.getMinZoom();
|
||||||
var tile, tileRange, tileResolution, x, y, z;
|
var tile, tileRange, tileResolution, x, y, z;
|
||||||
if (!goog.isDef(preload)) {
|
|
||||||
preload = 0;
|
|
||||||
}
|
|
||||||
for (z = currentZ; z >= minZoom; --z) {
|
for (z = currentZ; z >= minZoom; --z) {
|
||||||
tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z, tileRange);
|
tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z, tileRange);
|
||||||
tileResolution = tileGrid.getResolution(z);
|
tileResolution = tileGrid.getResolution(z);
|
||||||
|
|||||||
@@ -198,10 +198,6 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame =
|
|||||||
tilesToDrawByZ, getTileIfLoaded);
|
tilesToDrawByZ, getTileIfLoaded);
|
||||||
|
|
||||||
var useInterimTilesOnError = tileLayer.getUseInterimTilesOnError();
|
var useInterimTilesOnError = tileLayer.getUseInterimTilesOnError();
|
||||||
if (!goog.isDef(useInterimTilesOnError)) {
|
|
||||||
useInterimTilesOnError = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
var allTilesLoaded = true;
|
var allTilesLoaded = true;
|
||||||
var tmpExtent = ol.extent.createEmpty();
|
var tmpExtent = ol.extent.createEmpty();
|
||||||
var tmpTileRange = new ol.TileRange(0, 0, 0, 0);
|
var tmpTileRange = new ol.TileRange(0, 0, 0, 0);
|
||||||
|
|||||||
@@ -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');
|
||||||
Reference in New Issue
Block a user