diff --git a/src/ol/layer/vectorlayer.js b/src/ol/layer/vectorlayer.js index 42b53fd9ca..e024064f7f 100644 --- a/src/ol/layer/vectorlayer.js +++ b/src/ol/layer/vectorlayer.js @@ -1,8 +1,8 @@ goog.provide('ol.layer.Vector'); +goog.provide('ol.layer.VectorLayerEventType'); goog.require('goog.array'); goog.require('goog.asserts'); -goog.require('goog.events.EventType'); goog.require('goog.object'); goog.require('ol.Feature'); goog.require('ol.expr'); @@ -221,10 +221,18 @@ ol.layer.FeatureCache.prototype.remove = function(feature) { /** - * TODO: Create a VectorLayerEvent with ADD and REMOVE event types + * @enum {string} + */ +ol.layer.VectorLayerEventType = { + ADD: 'add', + REMOVE: 'remove' +}; + + +/** * @typedef {{extent: (ol.Extent|undefined), * features: (Array.|undefined), - * type: goog.events.EventType}} + * type: ol.layer.VectorLayerEventType}} */ ol.layer.VectorLayerEventObject; @@ -304,7 +312,7 @@ ol.layer.Vector.prototype.addFeatures = function(features) { this.dispatchEvent(/** @type {ol.layer.VectorLayerEventObject} */ ({ extent: extent, features: features, - type: goog.events.EventType.CHANGE + type: ol.layer.VectorLayerEventType.ADD })); }; @@ -517,7 +525,7 @@ ol.layer.Vector.prototype.removeFeatures = function(features) { this.dispatchEvent(/** @type {ol.layer.VectorLayerEventObject} */ ({ extent: extent, features: features, - type: goog.events.EventType.CHANGE + type: ol.layer.VectorLayerEventType.REMOVE })); }; diff --git a/src/ol/renderer/canvas/canvasvectorlayerrenderer.js b/src/ol/renderer/canvas/canvasvectorlayerrenderer.js index 94260aac9f..51bb84eb39 100644 --- a/src/ol/renderer/canvas/canvasvectorlayerrenderer.js +++ b/src/ol/renderer/canvas/canvasvectorlayerrenderer.js @@ -3,7 +3,6 @@ goog.provide('ol.renderer.canvas.VectorLayer'); goog.require('goog.dom'); goog.require('goog.dom.TagName'); goog.require('goog.events'); -goog.require('goog.events.EventType'); goog.require('goog.object'); goog.require('goog.vec.Mat4'); goog.require('ol.Pixel'); @@ -14,6 +13,7 @@ goog.require('ol.ViewHint'); goog.require('ol.extent'); goog.require('ol.geom.GeometryType'); goog.require('ol.layer.Vector'); +goog.require('ol.layer.VectorLayerEventType'); goog.require('ol.renderer.canvas.Layer'); goog.require('ol.renderer.canvas.VectorRenderer'); goog.require('ol.tilegrid.TileGrid'); @@ -86,8 +86,11 @@ ol.renderer.canvas.VectorLayer = function(mapRenderer, layer) { */ this.tileCache_ = new ol.TileCache( ol.renderer.canvas.VectorLayer.TILECACHE_SIZE); - goog.events.listen(layer, goog.events.EventType.CHANGE, - this.handleLayerChange_, false, this); + goog.events.listen(layer, [ + ol.layer.VectorLayerEventType.ADD, + ol.layer.VectorLayerEventType.REMOVE + ], + this.handleLayerChange_, false, this); /** * @private