WIP: referesh polyline wennactive oder inaktive sind (GIS Lines)

This commit is contained in:
ISA
2025-02-03 15:56:57 +01:00
parent 1f9286a6cf
commit 3e92fda934
2 changed files with 18 additions and 2 deletions

View File

@@ -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) => {

View File

@@ -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) => {