From 76b3d09320489ca7d8d9c9e65c8b8000aaaaa0f4 Mon Sep 17 00:00:00 2001 From: vcoppe Date: Thu, 23 Oct 2025 18:42:10 +0200 Subject: [PATCH] fix layer control --- .../components/map/layer-control/LayerControl.svelte | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/website/src/lib/components/map/layer-control/LayerControl.svelte b/website/src/lib/components/map/layer-control/LayerControl.svelte index a6ad5335..31aa2455 100644 --- a/website/src/lib/components/map/layer-control/LayerControl.svelte +++ b/website/src/lib/components/map/layer-control/LayerControl.svelte @@ -10,6 +10,7 @@ import { map } from '$lib/components/map/map'; import { customBasemapUpdate, getLayers } from './utils'; import type { ImportSpecification, StyleSpecification } from 'mapbox-gl'; + import { untrack } from 'svelte'; let container: HTMLDivElement; let overpassLayer: OverpassLayer; @@ -50,7 +51,7 @@ $effect(() => { if ($map && ($currentBasemap || $customBasemapUpdate)) { - setStyle(); + untrack(() => setStyle()); } }); @@ -127,7 +128,7 @@ $effect(() => { if ($map && $currentOverlays && $opacities) { - updateOverlays(); + untrack(() => updateOverlays()); } }); @@ -137,7 +138,12 @@ } overpassLayer = new OverpassLayer(_map); overpassLayer.add(); - _map.on('style.import.load', updateOverlays); + let first = true; + _map.on('style.import.load', () => { + if (!first) return; + first = false; + updateOverlays(); + }); }); let open = $state(false);