diff --git a/src/objectliterals.jsdoc b/src/objectliterals.jsdoc index 38faf10f22..bd8b80ab45 100644 --- a/src/objectliterals.jsdoc +++ b/src/objectliterals.jsdoc @@ -367,7 +367,6 @@ * @property {number|undefined} opacity Opacity. 0-1. Default is 1. * @property {ol.source.Source} source Source for this layer. * @property {ol.style.Style|undefined} style Style. - * @property {boolean|undefined} temp True for temporary layers. For internal use only. * @property {boolean|undefined} visible Visibility. Default is true (visible). */ diff --git a/src/ol/control/selectcontrol.js b/src/ol/control/selectcontrol.js index db4bcf8968..c9e7e4d37c 100644 --- a/src/ol/control/selectcontrol.js +++ b/src/ol/control/selectcontrol.js @@ -94,11 +94,12 @@ ol.control.Select.prototype.createSelectionLayers_ = function() { this.selectionLayers = []; for (var i = 0, ii = this.layers_.length; i < ii; ++i) { this.featureMap_.push({}); - this.selectionLayers.push(new ol.layer.Vector({ + var selectionLayer = new ol.layer.Vector({ source: new ol.source.Vector({parser: null}), - style: this.layers_[i].getStyle(), - temp: true - })); + style: this.layers_[i].getStyle() + }); + selectionLayer.setTemporary(true); + this.selectionLayers.push(selectionLayer); } }; diff --git a/src/ol/layer/vectorlayer.js b/src/ol/layer/vectorlayer.js index fe010c7e18..ef2a3542a2 100644 --- a/src/ol/layer/vectorlayer.js +++ b/src/ol/layer/vectorlayer.js @@ -303,8 +303,9 @@ ol.layer.Vector = function(options) { /** * True if this is a temporary layer. * @type {boolean} + * @private */ - this.temp = goog.isDef(options.temp) ? options.temp : false; + this.temp_ = false; }; goog.inherits(ol.layer.Vector, ol.layer.Layer); @@ -343,6 +344,14 @@ ol.layer.Vector.prototype.clear = function() { }; +/** + * @return {boolean} Whether this layer is temporary. + */ +ol.layer.Vector.prototype.getTemporary = function() { + return this.temp_; +}; + + /** * @return {ol.source.Vector} Source. */ @@ -604,6 +613,14 @@ ol.layer.Vector.prototype.setRenderIntent = function(renderIntent, features) { }; +/** + * @param {boolean} temp Whether this layer is temporary. + */ +ol.layer.Vector.prototype.setTemporary = function(temp) { + this.temp_ = temp; +}; + + /** * @param {Array.} features Features. * @return {string} Feature info. diff --git a/test/spec/ol/control/selectcontrol.test.js b/test/spec/ol/control/selectcontrol.test.js index 58aa476bf4..870f938b8b 100644 --- a/test/spec/ol/control/selectcontrol.test.js +++ b/test/spec/ol/control/selectcontrol.test.js @@ -73,7 +73,7 @@ describe('ol.control.Select', function() { expect(map.getLayers().getLength()).to.be(0); select.activate(); expect(map.getLayers().getLength()).to.be(1); - expect(map.getLayers().getAt(0).temp).to.be(true); + expect(map.getLayers().getAt(0).getTemporary()).to.be(true); select.deactivate(); expect(map.getLayers().getLength()).to.be(0); });