Render vector tile vectors in correct sequence for the postrender event

This commit is contained in:
Andreas Hocevar
2022-08-05 15:06:38 +02:00
parent f2c4e26468
commit b81dd0b3bc
+4 -7
View File
@@ -617,18 +617,16 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
} }
/** /**
* Render the layer. * Render the vectors for this layer.
* @param {CanvasRenderingContext2D} context Target context.
* @param {import("../../Map.js").FrameState} frameState Frame state. * @param {import("../../Map.js").FrameState} frameState Frame state.
* @param {HTMLElement} target Target that may be used to render content to.
* @return {HTMLElement} The rendered element.
*/ */
renderFrame(frameState, target) { postRender(context, frameState) {
const viewHints = frameState.viewHints; const viewHints = frameState.viewHints;
const hifi = !( const hifi = !(
viewHints[ViewHint.ANIMATING] || viewHints[ViewHint.INTERACTING] viewHints[ViewHint.ANIMATING] || viewHints[ViewHint.INTERACTING]
); );
super.renderFrame(frameState, target);
this.renderedPixelToCoordinateTransform_ = this.renderedPixelToCoordinateTransform_ =
frameState.pixelToCoordinateTransform.slice(); frameState.pixelToCoordinateTransform.slice();
this.renderedRotation_ = frameState.viewState.rotation; this.renderedRotation_ = frameState.viewState.rotation;
@@ -637,7 +635,6 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
this.getLayer() this.getLayer()
); );
const renderMode = layer.getRenderMode(); const renderMode = layer.getRenderMode();
const context = this.context;
const alpha = context.globalAlpha; const alpha = context.globalAlpha;
context.globalAlpha = layer.getOpacity(); context.globalAlpha = layer.getOpacity();
const replayTypes = VECTOR_REPLAYS[renderMode]; const replayTypes = VECTOR_REPLAYS[renderMode];
@@ -725,7 +722,7 @@ class CanvasVectorTileLayerRenderer extends CanvasTileLayerRenderer {
context.globalAlpha = alpha; context.globalAlpha = alpha;
this.ready = ready; this.ready = ready;
return this.container; super.postRender(context, frameState);
} }
/** /**