// /utils/common/cleanupMarkers.js

/**
 * Entfernt alle Leaflet-Marker vollständig aus der Karte und aus OMS egal welche Typ sind
 * @param {L.Marker[]} markers - Liste der Marker
 * @param {object} oms - OverlappingMarkerSpiderfier-Instanz (optional)
 */
export const cleanupMarkers = (markers = [], oms = null) => {
  markers.forEach(marker => {
    // Tooltip und Popup entfernen
    marker.unbindTooltip?.();
    marker.unbindPopup?.();

    // Event-Listener entfernen (zur Sicherheit)
    marker.off?.();

    // Marker von Karte entfernen
    marker.remove?.();

    // Marker aus OMS entfernen (wenn vorhanden)
    if (oms && typeof oms.removeMarker === "function") {
      oms.removeMarker(marker);
    }
  });
};
