Compute anchor value only once

This commit is contained in:
Frederic Junod
2014-03-31 10:17:45 +02:00
parent 24ad507710
commit fa640cf094

View File

@@ -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.<number>}
*/
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_;
};