Make ol.Overlay always call setOffset

This commit is contained in:
Éric Lemoine
2014-06-19 10:02:12 +02:00
parent dced47157e
commit 0a0d12ec8a
+7 -17
View File
@@ -136,9 +136,9 @@ ol.Overlay = function(options) {
if (goog.isDef(options.element)) { if (goog.isDef(options.element)) {
this.setElement(options.element); this.setElement(options.element);
} }
if (goog.isDef(options.offset)) {
this.setOffset(options.offset); this.setOffset(goog.isDef(options.offset) ? options.offset : [0, 0]);
}
if (goog.isDef(options.position)) { if (goog.isDef(options.position)) {
this.setPosition(options.position); this.setPosition(options.position);
} }
@@ -151,14 +151,6 @@ ol.Overlay = function(options) {
goog.inherits(ol.Overlay, ol.Object); goog.inherits(ol.Overlay, ol.Object);
/**
* Default offsets.
* @type {Array.<number>}
* @private
*/
ol.Overlay.offset_ = [0, 0];
/** /**
* Get the DOM element of this overlay. * Get the DOM element of this overlay.
* @return {Element|undefined} The Element containing the overlay. * @return {Element|undefined} The Element containing the overlay.
@@ -193,12 +185,12 @@ goog.exportProperty(
/** /**
* Get the offset of this overlay. * Get the offset of this overlay.
* @return {Array.<number>|undefined} The offset. * @return {Array.<number>} The offset.
* @todo observable * @todo observable
* @todo api * @todo api
*/ */
ol.Overlay.prototype.getOffset = function() { ol.Overlay.prototype.getOffset = function() {
return /** @type {Array.<number>|undefined} */ ( return /** @type {Array.<number>} */ (
this.get(ol.OverlayProperty.OFFSET)); this.get(ol.OverlayProperty.OFFSET));
}; };
goog.exportProperty( goog.exportProperty(
@@ -343,7 +335,7 @@ goog.exportProperty(
/** /**
* Set the offset for this overlay. * Set the offset for this overlay.
* @param {Array.<number>|undefined} offset Offset. * @param {Array.<number>} offset Offset.
* @todo observable * @todo observable
* @todo api * @todo api
*/ */
@@ -409,9 +401,7 @@ ol.Overlay.prototype.updatePixelPosition_ = function() {
goog.asserts.assert(goog.isDef(mapSize)); goog.asserts.assert(goog.isDef(mapSize));
var style = this.element_.style; var style = this.element_.style;
var offset = this.getOffset(); var offset = this.getOffset();
if (!goog.isDef(offset)) { goog.asserts.assert(goog.isArray(offset));
offset = ol.Overlay.offset_;
}
var positioning = this.getPositioning(); var positioning = this.getPositioning();
if (positioning == ol.OverlayPositioning.BOTTOM_RIGHT || if (positioning == ol.OverlayPositioning.BOTTOM_RIGHT ||
positioning == ol.OverlayPositioning.CENTER_RIGHT || positioning == ol.OverlayPositioning.CENTER_RIGHT ||