Add method for retrieving ol.Overlay by id

This commit is contained in:
jonataswalker
2015-10-14 16:01:48 -03:00
parent d29e5eaef1
commit fce065e185
5 changed files with 30 additions and 117 deletions

View File

@@ -557,9 +557,6 @@ ol.Map.prototype.addOverlayInternal = function(overlay) {
this.overlayIdIndex_[id.toString()] = overlay;
}
overlay.setMap(this);
goog.events.listen(
overlay, ol.Object.getChangeEventType(overlay.getOverlayIdProperty()),
this.handleOverlayIdChange_, false, this);
};
@@ -1103,28 +1100,6 @@ ol.Map.prototype.handleTileChange_ = function() {
};
/**
* @param {goog.events.Event} event Event.
* @private
*/
ol.Map.prototype.handleOverlayIdChange_ = function(event) {
var overlay = /** @type {ol.Overlay} */ (event.target);
var id = overlay.getId().toString();
var oldId = event.oldValue;
if (oldId && oldId != id) {
delete this.overlayIdIndex_[oldId];
}
if (id in this.overlayIdIndex_) {
if (this.overlayIdIndex_[id] !== overlay) {
delete this.overlayIdIndex_[id];
this.overlayIdIndex_[id] = overlay;
}
} else {
this.overlayIdIndex_[id] = overlay;
}
};
/**
* @private
*/