Allow source to be set after layer construction

This commit is contained in:
Tim Schaub
2014-10-23 09:24:03 -06:00
parent c06774acb5
commit d712b2ba54
12 changed files with 157 additions and 15 deletions

View File

@@ -69,6 +69,15 @@ ol.renderer.dom.ImageLayer.prototype.forEachFeatureAtPixel =
};
/**
* @inheritDoc
*/
ol.renderer.dom.ImageLayer.prototype.clearFrame = function() {
goog.dom.removeChildren(this.target);
this.image_ = null;
};
/**
* @inheritDoc
*/

View File

@@ -27,6 +27,12 @@ ol.renderer.dom.Layer = function(mapRenderer, layer, target) {
goog.inherits(ol.renderer.dom.Layer, ol.renderer.Layer);
/**
* Clear rendered elements.
*/
ol.renderer.dom.Layer.prototype.clearFrame = goog.nullFunction;
/**
* @param {olx.FrameState} frameState Frame state.
* @param {ol.layer.LayerState} layerState Layer state.

View File

@@ -244,6 +244,8 @@ ol.renderer.dom.Map.prototype.renderFrame = function(frameState) {
if (layerRenderer.prepareFrame(frameState, layerState)) {
layerRenderer.composeFrame(frameState, layerState);
}
} else {
layerRenderer.clearFrame();
}
}

View File

@@ -74,6 +74,15 @@ ol.renderer.dom.TileLayer = function(mapRenderer, tileLayer) {
goog.inherits(ol.renderer.dom.TileLayer, ol.renderer.dom.Layer);
/**
* @inheritDoc
*/
ol.renderer.dom.TileLayer.prototype.clearFrame = function() {
goog.dom.removeChildren(this.target);
this.renderedRevision_ = 0;
};
/**
* @inheritDoc
*/