Troubleshooting
Last updated
deck.gl must be used from a single bundle, otherwise it fails to resolve its shader hooks DECKGL_FILTER_SIZE, DECKGL_FILTER_GL_POSITION, DECKGL_FILTER_COLOR.
The shader source code calls these hooks but it's missing their declaration.
No layer displays. "Vertex shader is not compiled" error is logged in the browser console.
Check for duplicate deck.gl bundles used (versions or ESM vs CJS). Ensure that a single deck.gl bundle is used.
Layers can't be reused, they need to be recreated.
After deck.MapboxOverlay is added to the map with maplibregl.Map.addControl and removed from the map with maplibregl.Map.removeControl, adding it back again with maplibregl.Map.addControl doesn't render any layers.
After removing deck.MapboxOverlay from the map with maplibregl.Map.removeControl, remove layers as well with deck.MapboxOverlay.setProps({ layers: [] }).
After adding deck.MapboxOverlay to the map with maplibregl.Map.addControl, add layers with deck.MapboxOverlay.setProps({ layers: [...all layers...] }).
HighLowLayer uses deck.gl CollisionFilterExtension, which can't be used after bitmap layers (RasterLayer, ContourLayer) in deck.gl <9.2.6. https://github.com/visgl/deck.gl/issues/7864
HighLowLayer doesn't display.
Upgrade to deck.gl 9.2.6+ and set _renderLayersInGroups: true in MapboxOverlay .
Previous workaround: Move HighLowLayer to be before bitmap layers (RasterLayer, ContourLayer), and offset it with getPolygonOffset: () => [0, -1000].
Last updated