Make tile pre-loading a per-layer option

This commit is contained in:
Tom Payne
2013-03-27 13:55:14 +01:00
parent 1d22d2fdde
commit 494d61250e
7 changed files with 61 additions and 17 deletions

View File

@@ -1 +1 @@
@exportClass ol.layer.TileLayer ol.layer.LayerOptions
@exportClass ol.layer.TileLayer ol.layer.TileLayerOptions

View File

@@ -4,21 +4,58 @@ goog.require('ol.layer.Layer');
goog.require('ol.source.TileSource');
/**
* @enum {string}
*/
ol.layer.TileLayerProperty = {
PRELOAD: 'preload'
};
/**
* @constructor
* @extends {ol.layer.Layer}
* @param {ol.layer.LayerOptions} layerOptions Layer options.
* @param {ol.layer.TileLayerOptions} options Options.
*/
ol.layer.TileLayer = function(layerOptions) {
goog.base(this, layerOptions);
ol.layer.TileLayer = function(options) {
goog.base(this, options);
this.setPreload(
goog.isDef(options.preload) ? options.preload : false);
};
goog.inherits(ol.layer.TileLayer, ol.layer.Layer);
/**
* @return {boolean} Preload.
*/
ol.layer.TileLayer.prototype.getPreload = function() {
return /** @type {boolean} */ (this.get(ol.layer.TileLayerProperty.PRELOAD));
};
goog.exportProperty(
ol.layer.TileLayer.prototype,
'getPreload',
ol.layer.TileLayer.prototype.getPreload);
/**
* @return {ol.source.TileSource} Source.
*/
ol.layer.TileLayer.prototype.getTileSource = function() {
return /** @type {ol.source.TileSource} */ (this.getSource());
};
/**
* @param {boolean} preload Preload.
*/
ol.layer.TileLayer.prototype.setPreload = function(preload) {
this.set(ol.layer.TileLayerProperty.PRELOAD, preload);
};
goog.exportProperty(
ol.layer.TileLayer.prototype,
'setPreload',
ol.layer.TileLayer.prototype.setPreload);