diff --git a/frontend/src/lib/components/TrailMap.svelte b/frontend/src/lib/components/TrailMap.svelte index 215d297..dad7304 100644 --- a/frontend/src/lib/components/TrailMap.svelte +++ b/frontend/src/lib/components/TrailMap.svelte @@ -93,6 +93,13 @@ }) return () => { + // Map.remove() räumt Controls auf, aber keine Marker — die tragen + // eigene move-Listener auf der Karte und werden hier zuerst entfernt. + for (const m of markerObjects) m.remove() + markerObjects = [] + highlightMarker?.remove() + highlightMarker = null + instance.remove() map = null } @@ -160,6 +167,13 @@ ev.stopPropagation() onmarkerclick?.(data.id) }) + el.addEventListener('focus', () => { + el.style.outline = '2px solid #0ea5e9' + el.style.outlineOffset = '2px' + }) + el.addEventListener('blur', () => { + el.style.outline = 'none' + }) markerObjects.push( new maplibregl.Marker({ element: el })