diff --git a/components/MapComponent.js b/components/MapComponent.js index 0c817e3ec..ff2ea61c9 100644 --- a/components/MapComponent.js +++ b/components/MapComponent.js @@ -82,6 +82,7 @@ import { useSelector } from "react-redux"; const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => { // **Hole nur die aktiven idLDs aus Redux** const activeLines = useSelector((state) => state.lineVisibility.activeLines); + console.log("activeLines in MapComponent:", activeLines); const activeIds = Object.keys(activeLines).filter((id) => activeLines[id] === 1); const polylineVisible = useRecoilValue(polylineLayerVisibleState); const [editMode, setEditMode] = useState(false); // editMode Zustand @@ -538,7 +539,8 @@ await fetchGisStationsStatusDistrict(mapGisStationsStatusDistrictUrl, setGisStat tooltipContents, setNewCoords, tempMarker, - polylineVisible // polylineVisible wird jetzt korrekt übergeben + polylineVisible, // polylineVisible wird jetzt korrekt übergeben + activeLines ); newPolylines.forEach((polyline, index) => { diff --git a/utils/setupPolylines.js b/utils/setupPolylines.js index 809c44e70..968017890 100644 --- a/utils/setupPolylines.js +++ b/utils/setupPolylines.js @@ -81,7 +81,11 @@ function monitorContextMenu(map) { }, 1000); // Alle 1 Sekunde überprüfen } -export const setupPolylines = (map, linePositions, lineColors, tooltipContents, setNewCoords, tempMarker, currentZoom, currentCenter, polylineVisible) => { +export const setupPolylines = (map, linePositions, lineColors, tooltipContents, setNewCoords, tempMarker, currentZoom, currentCenter, polylineVisible, activeLines) => { + if (!activeLines) { + console.warn("activeLines ist undefined oder null."); + return { markers: [], polylines: [] }; + } if (localStorage.getItem("polylineVisible") === null) { localStorage.setItem("polylineVisible", "true"); // Standardwert setzen polylineVisible = true; // Wert in der Funktion initialisieren @@ -105,6 +109,16 @@ export const setupPolylines = (map, linePositions, lineColors, tooltipContents, const editMode = localStorage.getItem("editMode") === "true"; // Prüfen, ob der Bearbeitungsmodus aktiv ist linePositions.forEach((lineData, lineIndex) => { + console.log("LineData:", lineData.idLD, lineData.idModul); + console.log("ActiveLines:", activeLines); + + // **Fix: Sicherstellen, dass activeLines definiert ist und idLD existiert** + const isActive = activeLines && lineData.idLD && activeLines[String(lineData.idLD)] === 1; + if (!isActive) { + console.warn(`Linie mit idLD ${lineData.idLD} wird ausgeblendet.`); + return; + } + const lineMarkers = []; lineData.coordinates.forEach((coord, index) => {