From ceb23e21b37288b037cb475c13be78664fb3f388 Mon Sep 17 00:00:00 2001 From: Igor Dykhta Date: Wed, 27 Jul 2022 01:33:01 +0300 Subject: [PATCH] fix for cluster layer z-fighting; fix - render 3d building map style only once (#1874) Signed-off-by: Ihor Dykhta Co-authored-by: Shan He --- src/components/map-container.tsx | 8 ++++---- src/deckgl-layers/src/cluster-layer/cluster-layer.ts | 3 +++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/components/map-container.tsx b/src/components/map-container.tsx index f1ca90ee3e..19c648896c 100644 --- a/src/components/map-container.tsx +++ b/src/components/map-container.tsx @@ -426,7 +426,7 @@ export default function MapContainerFactory( return screenCoord && {x: screenCoord[0], y: screenCoord[1]}; } - _renderDeckOverlay(layersForDeck) { + _renderDeckOverlay(layersForDeck, options = {primaryMap: false}) { const { mapState, mapStyle, @@ -458,7 +458,7 @@ export default function MapContainerFactory( deckGlLayers = deckGlLayers.concat(dataLayers); } - if (mapStyle.visibleLayerGroups['3d building']) { + if (mapStyle.visibleLayerGroups['3d building'] && options.primaryMap) { deckGlLayers.push( new ThreeDBuildingLayer({ id: '_keplergl_3d-building', @@ -632,14 +632,14 @@ export default function MapContainerFactory( getCursor={this.props.hoverInfo ? () => 'pointer' : undefined} onMouseMove={this.props.visStateActions.onMouseMove} > - {this._renderDeckOverlay(layersForDeck)} + {this._renderDeckOverlay(layersForDeck, {primaryMap: true})} {this._renderMapboxOverlays()} {this._renderDrawEditor()} {mapStyle.topMapStyle || hasGeocoderLayer ? (
- {this._renderDeckOverlay({[GEOCODER_LAYER_ID]: true})} + {this._renderDeckOverlay({[GEOCODER_LAYER_ID]: hasGeocoderLayer})}
) : null} diff --git a/src/deckgl-layers/src/cluster-layer/cluster-layer.ts b/src/deckgl-layers/src/cluster-layer/cluster-layer.ts index 7a5d05f49d..d9f3894eab 100644 --- a/src/deckgl-layers/src/cluster-layer/cluster-layer.ts +++ b/src/deckgl-layers/src/cluster-layer/cluster-layer.ts @@ -242,6 +242,9 @@ export default class ClusterLayer extends AggregationLayer< autoHighlight, highlightColor, updateTriggers, + parameters: { + depthMask: false + }, ...accessors }); }