Skip to content

Commit 50df2f2

Browse files
zbiggchrisgervang
andauthored
fix(mapbox): In interleaved, batched mode don't render layers twice (#9944)
* fix(mapbox): In interleaved, grouped mode don't render layers twice * afterRender: remove hasNonMapboxLayers --------- Co-authored-by: Chris Gervang <[email protected]>
1 parent 83ac412 commit 50df2f2

File tree

1 file changed

+3
-8
lines changed

1 file changed

+3
-8
lines changed

modules/mapbox/src/deck-utils.ts

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -371,20 +371,15 @@ function getViewport(deck: Deck, map: Map, renderParameters?: unknown): Viewport
371371
}
372372

373373
function afterRender(deck: Deck, map: Map): void {
374-
const {mapboxLayers, isExternal} = deck.userData as UserData;
374+
const {isExternal} = deck.userData as UserData;
375375

376376
if (isExternal) {
377377
// Draw non-Mapbox layers
378-
const mapboxLayerIds = Array.from(mapboxLayers, layer => layer.id);
379-
const deckLayers = flatten(deck.props.layers, Boolean) as Layer[];
380-
const hasNonMapboxLayers = deckLayers.some(
381-
layer => layer && !mapboxLayerIds.includes(layer.id)
382-
);
383378
let viewports = deck.getViewports();
384379
const mapboxViewportIdx = viewports.findIndex(vp => vp.id === MAPBOX_VIEW_ID);
385380
const hasNonMapboxViews = viewports.length > 1 || mapboxViewportIdx < 0;
386381

387-
if (hasNonMapboxLayers || hasNonMapboxViews) {
382+
if (hasNonMapboxViews) {
388383
if (mapboxViewportIdx >= 0) {
389384
viewports = viewports.slice();
390385
viewports[mapboxViewportIdx] = getViewport(deck, map);
@@ -394,7 +389,7 @@ function afterRender(deck: Deck, map: Map): void {
394389
viewports,
395390
layerFilter: params =>
396391
(!deck.props.layerFilter || deck.props.layerFilter(params)) &&
397-
(params.viewport.id !== MAPBOX_VIEW_ID || !mapboxLayerIds.includes(params.layer.id)),
392+
params.viewport.id !== MAPBOX_VIEW_ID,
398393
clearCanvas: false
399394
});
400395
}

0 commit comments

Comments
 (0)