diff --git a/src/ol/renderer/canvas/canvasmaprenderer.js b/src/ol/renderer/canvas/canvasmaprenderer.js index e740898e42..5d9fa3741e 100644 --- a/src/ol/renderer/canvas/canvasmaprenderer.js +++ b/src/ol/renderer/canvas/canvasmaprenderer.js @@ -76,15 +76,6 @@ ol.renderer.canvas.Map.prototype.getCanvas = function() { }; -/** - * @param {goog.events.Event} event Event. - * @protected - */ -ol.renderer.canvas.Map.prototype.handleLayerRendererChange = function(event) { - this.getMap().render(); -}; - - /** * @inheritDoc */ diff --git a/src/ol/renderer/maprenderer.js b/src/ol/renderer/maprenderer.js index 1e953dfc24..06bf5cb930 100644 --- a/src/ol/renderer/maprenderer.js +++ b/src/ol/renderer/maprenderer.js @@ -42,20 +42,18 @@ ol.renderer.Map = function(container, map) { /** * @private - * @type {Array.} + * @type {?number} */ - this.layersListenerKeys_ = null; - + this.mapLayersChangedListenerKey_ = + goog.events.listen( + map, ol.Object.getChangedEventType(ol.MapProperty.LAYERS), + this.handleLayersChanged, false, this); /** * @private * @type {Array.} */ - this.mapListenerKeys_ = [ - goog.events.listen( - map, ol.Object.getChangedEventType(ol.MapProperty.LAYERS), - this.handleLayersChanged, false, this) - ]; + this.layersListenerKeys_ = null; }; goog.inherits(ol.renderer.Map, goog.Disposable); @@ -118,7 +116,7 @@ ol.renderer.Map.prototype.disposeInternal = function() { goog.object.forEach(this.layerRenderers, function(layerRenderer) { goog.dispose(layerRenderer); }); - goog.array.forEach(this.mapListenerKeys_, goog.events.unlistenByKey); + goog.events.unlistenByKey(this.mapLayersChangedListenerKey_); if (!goog.isNull(this.layersListenerKeys_)) { goog.array.forEach(this.layersListenerKeys_, goog.events.unlistenByKey); }