From fa640cf094a394d34691fa245a1a5bf69d817c1d Mon Sep 17 00:00:00 2001 From: Frederic Junod Date: Mon, 31 Mar 2014 10:17:45 +0200 Subject: [PATCH] Compute anchor value only once --- src/ol/style/iconstyle.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/ol/style/iconstyle.js b/src/ol/style/iconstyle.js index 186caa260d..9dad63ca23 100644 --- a/src/ol/style/iconstyle.js +++ b/src/ol/style/iconstyle.js @@ -52,6 +52,12 @@ ol.style.Icon = function(opt_options) { */ this.anchor_ = goog.isDef(options.anchor) ? options.anchor : [0.5, 0.5]; + /** + * @private + * @type {Array.} + */ + this.normalizedAnchor_ = null; + /** * @private * @type {ol.style.IconAnchorOrigin} @@ -128,6 +134,9 @@ goog.inherits(ol.style.Icon, ol.style.Image); * @inheritDoc */ ol.style.Icon.prototype.getAnchor = function() { + if (!goog.isNull(this.normalizedAnchor_)) { + return this.normalizedAnchor_; + } var anchor = this.anchor_; var size = this.getSize(); if (this.anchorXUnits_ == ol.style.IconAnchorUnits.FRACTION || @@ -160,7 +169,8 @@ ol.style.Icon.prototype.getAnchor = function() { anchor[1] = -anchor[1] + size[1]; } } - return anchor; + this.normalizedAnchor_ = anchor; + return this.normalizedAnchor_; };