Do not fire duplicate postrender events

This commit is contained in:
Maximilian Krög
2020-12-24 01:13:50 +01:00
parent 1a952e7a41
commit 17659b9a80

View File

@@ -1140,6 +1140,7 @@ class PluggableMap extends BaseObject {
if (!targetElement) {
if (this.renderer_) {
clearTimeout(this.postRenderTimeoutHandle_);
this.postRenderTimeoutHandle_ = undefined;
this.postRenderFunctions_.length = 0;
this.renderer_.dispose();
this.renderer_ = null;
@@ -1438,10 +1439,12 @@ class PluggableMap extends BaseObject {
this.dispatchEvent(new MapEvent(MapEventType.POSTRENDER, this, frameState));
this.postRenderTimeoutHandle_ = setTimeout(
this.handlePostRender.bind(this),
0
);
if (!this.postRenderTimeoutHandle_) {
this.postRenderTimeoutHandle_ = setTimeout(() => {
this.postRenderTimeoutHandle_ = undefined;
this.handlePostRender();
}, 0);
}
}
/**