// /utils/polylines/cleanupPolylinesForMemory.js /** * Bereinigt Leaflet-Polylinien aus dem Speicher: * - entfernt Event-Listener (off) * - entfernt Tooltips (unbindTooltip) * - entfernt Layer von der Karte (removeLayer) * * @param {L.Polyline[]} polylines - Liste der Leaflet-Polylinien * @param {L.Map} map - Leaflet-Karteninstanz */ export function cleanupPolylinesForMemory(polylines = [], map) { if (!Array.isArray(polylines)) return; polylines.forEach(polyline => { try { // Events und Tooltip entfernen polyline.off(); polyline.unbindTooltip?.(); // Von der Karte entfernen, wenn noch vorhanden if (map && map.hasLayer(polyline)) { map.removeLayer(polyline); } } catch (e) { console.warn("Fehler beim Bereinigen einer Polyline:", e); } }); }