diff --git a/src/ol/style/circle.js b/src/ol/style/circle.js index 885acfb4ac..c04cef2053 100644 --- a/src/ol/style/circle.js +++ b/src/ol/style/circle.js @@ -23,6 +23,12 @@ ol.style.Circle = function(opt_options) { var options = opt_options || {}; + /** + * @private + * @type {ol.style.AtlasManager|undefined} + */ + this.atlasManager_ = options.atlasManager; + /** * @private * @type {Array.} @@ -89,12 +95,6 @@ ol.style.Circle = function(opt_options) { */ this.hitDetectionImageSize_ = null; - /** - * @private - * @type {ol.style.AtlasManager|undefined} - */ - this.atlasManager_ = options.atlasManager; - this.render_(this.atlasManager_); /** @@ -231,6 +231,18 @@ ol.style.Circle.prototype.getStroke = function() { }; +/** + * Set the circle radius. + * + * @param {number} radius Circle radius. + * @api + */ +ol.style.Circle.prototype.setRadius = function(radius) { + this.radius_ = radius; + this.render_(this.atlasManager_); +}; + + /** * @inheritDoc */ diff --git a/test/spec/ol/style/circle.test.js b/test/spec/ol/style/circle.test.js index 83ebbedbef..f8991a84d2 100644 --- a/test/spec/ol/style/circle.test.js +++ b/test/spec/ol/style/circle.test.js @@ -285,4 +285,19 @@ describe('ol.style.Circle', function() { }); }); + + describe('#setRadius', function() { + it('changes the circle radius', function() { + var style = new ol.style.Circle({ + radius: 10, + fill: new ol.style.Fill({ + color: '#FFFF00' + }) + }); + expect(style.getRadius()).to.eql(10); + style.setRadius(20); + expect(style.getRadius()).to.eql(20); + }); + }); + });