( deck: Deck, map: Map, group: MapboxLayerGroup, renderParameters: any )
| 116 | } |
| 117 | |
| 118 | export function drawLayerGroup( |
| 119 | deck: Deck, |
| 120 | map: Map, |
| 121 | group: MapboxLayerGroup, |
| 122 | renderParameters: any |
| 123 | ): void { |
| 124 | if (!deck.isInitialized) { |
| 125 | return; |
| 126 | } |
| 127 | |
| 128 | let {currentViewport} = deck.userData as UserData; |
| 129 | let clearStack: boolean = false; |
| 130 | if (!currentViewport) { |
| 131 | // This is the first layer drawn in this render cycle. |
| 132 | // Generate viewport from the current map state. |
| 133 | currentViewport = getViewport(deck, map, renderParameters); |
| 134 | (deck.userData as UserData).currentViewport = currentViewport; |
| 135 | clearStack = true; |
| 136 | } |
| 137 | |
| 138 | if (!currentViewport) { |
| 139 | return; |
| 140 | } |
| 141 | |
| 142 | deck._drawLayers('mapbox-repaint', { |
| 143 | viewports: [currentViewport], |
| 144 | layerFilter: params => { |
| 145 | if (deck.props.layerFilter && !deck.props.layerFilter(params)) { |
| 146 | return false; |
| 147 | } |
| 148 | |
| 149 | const layer = params.layer as Layer<LayerOverlayProps>; |
| 150 | if (layer.props.beforeId === group.beforeId && layer.props.slot === group.slot) { |
| 151 | return true; |
| 152 | } |
| 153 | return false; |
| 154 | }, |
| 155 | clearStack, |
| 156 | clearCanvas: false |
| 157 | }); |
| 158 | } |
| 159 | |
| 160 | export function getProjection(map: Map): 'mercator' | 'globe' { |
| 161 | const projection = map.getProjection?.(); |
no test coverage detected
searching dependent graphs…