Skip to content

Commit 7f5884d

Browse files
authored
Merge pull request #254 from OpenGeoscience/issue-253-raster-removal
fix: remove bounds vector layers with raster removal
2 parents e01d2e2 + 2055b7e commit 7f5884d

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

web/src/store/map.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ export const useMapStore = defineStore('map', () => {
214214
function getBaseLayerSourceIds() {
215215
return getMapSources()
216216
.filter((sourceId) => (
217-
!sourceId || !(sourceId.includes('.vector.') || sourceId.includes('.raster.'))
217+
!sourceId || !(sourceId.includes('.vector.') || sourceId.includes('.raster.') || sourceId.includes('.bounds.'))
218218
));
219219
}
220220

@@ -273,7 +273,15 @@ export const useMapStore = defineStore('map', () => {
273273
// Must collect all source Ids so they can be removed after all layers
274274
// have been removed, since multple layers may use the same source
275275
let sourceIdsToRemove = new Set<string>();
276-
const layersToRemove = getUserMapLayers().filter((id) => layerIds.includes(id));
276+
const updatedLayerIds: string[] = [];
277+
layerIds.forEach((id) => {
278+
// Rasters have implicit bounds layers that also need to be removed
279+
if (id.includes('.raster.')) {
280+
updatedLayerIds.push(id.replace('.raster.', '.bounds.'));
281+
}
282+
updatedLayerIds.push(id);
283+
});
284+
const layersToRemove = getUserMapLayers().filter((id) => updatedLayerIds.includes(id));
277285
layersToRemove.forEach((id) => {
278286
sourceIdsToRemove.add(map.getLayer(id)!.source);
279287
map.removeLayer(id);

0 commit comments

Comments
 (0)