From 2407ee1db9c999b96fb7bc3ac6c61aeb7c9d19c6 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Fri, 20 Dec 2013 19:27:27 +0100 Subject: [PATCH 1/2] Add options object to ol.render.FeaturesOverlay constructor --- src/objectliterals.jsdoc | 7 +++++++ src/ol/render/featuresoverlay.js | 22 +++++++++++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/objectliterals.jsdoc b/src/objectliterals.jsdoc index 8dc27ba5d6..88c4cca834 100644 --- a/src/objectliterals.jsdoc +++ b/src/objectliterals.jsdoc @@ -503,6 +503,13 @@ * supported. */ +/** + * @typedef {Object} olx.render.FeaturesOverlayOptions + * @property {Array.|ol.Collection|undefined} features Features. + * @property {ol.Map|undefined} map Map. + * @property {ol.style.StyleFunction|undefined} styleFunction Style function. + */ + /** * @typedef {Object} olx.source.BingMapsOptions * @property {string|undefined} culture Culture code. Default is `en-us`. diff --git a/src/ol/render/featuresoverlay.js b/src/ol/render/featuresoverlay.js index 3b5352c784..914cad6dfc 100644 --- a/src/ol/render/featuresoverlay.js +++ b/src/ol/render/featuresoverlay.js @@ -15,8 +15,11 @@ goog.require('ol.style.StyleFunction'); /** * @constructor + * @param {olx.render.FeaturesOverlayOptions=} opt_options Options. */ -ol.render.FeaturesOverlay = function() { +ol.render.FeaturesOverlay = function(opt_options) { + + var options = goog.isDef(opt_options) ? opt_options : options; /** * @private @@ -54,6 +57,23 @@ ol.render.FeaturesOverlay = function() { */ this.styleFunction_ = undefined; + if (goog.isDef(options.features)) { + if (goog.isArray(options.features)) { + this.setFeatures(new ol.Collection(goog.array.clone(options.features))); + } else { + goog.asserts.assertInstanceof(options.features, ol.Collection); + this.setFeatures(options.features); + } + } + + if (goog.isDef(options.styleFunction)) { + this.setStyleFunction(options.styleFunction); + } + + if (goog.isDef(options.map)) { + this.setMap(options.map); + } + }; From 8d1f56a7cb9053e7dd9ad1ad1edf86f78f0c06df Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Fri, 20 Dec 2013 19:27:40 +0100 Subject: [PATCH 2/2] Export ol.render.FeaturesOverlay --- src/ol/render/featuresoverlay.exports | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 src/ol/render/featuresoverlay.exports diff --git a/src/ol/render/featuresoverlay.exports b/src/ol/render/featuresoverlay.exports new file mode 100644 index 0000000000..38cf3f5d98 --- /dev/null +++ b/src/ol/render/featuresoverlay.exports @@ -0,0 +1,5 @@ +@exportSymbol ol.render.FeaturesOverlay +@exportProperty ol.render.FeaturesOverlay.prototype.getFeatures +@exportProperty ol.render.FeaturesOverlay.prototype.setFeatures +@exportProperty ol.render.FeaturesOverlay.prototype.setMap +@exportProperty ol.render.FeaturesOverlay.prototype.setStyleFunction