Make preload a number of levels instead of a boolean
This commit is contained in:
@@ -23,17 +23,17 @@ ol.layer.TileLayer = function(options) {
|
||||
goog.base(this, options);
|
||||
|
||||
this.setPreload(
|
||||
goog.isDef(options.preload) ? options.preload : false);
|
||||
goog.isDef(options.preload) ? options.preload : 0);
|
||||
|
||||
};
|
||||
goog.inherits(ol.layer.TileLayer, ol.layer.Layer);
|
||||
|
||||
|
||||
/**
|
||||
* @return {boolean} Preload.
|
||||
* @return {number} Preload.
|
||||
*/
|
||||
ol.layer.TileLayer.prototype.getPreload = function() {
|
||||
return /** @type {boolean} */ (this.get(ol.layer.TileLayerProperty.PRELOAD));
|
||||
return /** @type {number} */ (this.get(ol.layer.TileLayerProperty.PRELOAD));
|
||||
};
|
||||
goog.exportProperty(
|
||||
ol.layer.TileLayer.prototype,
|
||||
@@ -50,7 +50,7 @@ ol.layer.TileLayer.prototype.getTileSource = function() {
|
||||
|
||||
|
||||
/**
|
||||
* @param {boolean} preload Preload.
|
||||
* @param {number} preload Preload.
|
||||
*/
|
||||
ol.layer.TileLayer.prototype.setPreload = function(preload) {
|
||||
this.set(ol.layer.TileLayerProperty.PRELOAD, preload);
|
||||
|
||||
@@ -291,7 +291,7 @@ ol.renderer.Layer.prototype.snapCenterToPixel =
|
||||
* @param {ol.Projection} projection Projection.
|
||||
* @param {ol.Extent} extent Extent.
|
||||
* @param {number} currentZ Current Z.
|
||||
* @param {boolean} preload Preload low resolution tiles.
|
||||
* @param {number} preload Load low resolution tiles up to 'preload' levels.
|
||||
* @param {function(this: T, ol.Tile)=} opt_tileCallback Tile callback.
|
||||
* @param {T=} opt_obj Object.
|
||||
* @protected
|
||||
@@ -313,7 +313,7 @@ ol.renderer.Layer.prototype.manageTilePyramid = function(
|
||||
tileResolution = tileGrid.getResolution(z);
|
||||
for (x = tileRange.minX; x <= tileRange.maxX; ++x) {
|
||||
for (y = tileRange.minY; y <= tileRange.maxY; ++y) {
|
||||
if (preload || z == currentZ) {
|
||||
if (currentZ - z <= preload) {
|
||||
tile = tileSource.getTile(z, x, y, tileGrid, projection);
|
||||
if (tile.getState() == ol.TileState.IDLE) {
|
||||
wantedTiles[tile.tileCoord.toString()] = true;
|
||||
|
||||
Reference in New Issue
Block a user