fix: Sichtbarkeitsbedingung im GMA-Layer-Hook behoben, um Hook-Fehler zu vermeiden
- Refaktorierung des `useMarkersLayer`-Hooks zur internen Behandlung der Sichtbarkeitsbedingung. - `isVisible`-Parameter hinzugefügt, um konsistente Hook-Aufrufe sicherzustellen. - Cleanup-Logik verbessert, um Layer beim Unmount korrekt zu entfernen. - GMA-Marker und Tooltips basierend auf Sichtbarkeit korrekt verarbeitet.
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
import { useEffect } from "react";
|
||||
//hooks/layers/useGmaMarkersLayer.js
|
||||
import { useEffect } from "react";
|
||||
import { addContextMenuToMarker } from "../../utils/addContextMenuToMarker";
|
||||
|
||||
const useMarkersLayer = (map, markers, GisStationsMeasurements, GMA, oms) => {
|
||||
const useMarkersLayer = (map, markers, GisStationsMeasurements, GMA, oms, isVisible) => {
|
||||
useEffect(() => {
|
||||
if (!map) return;
|
||||
if (!map || !isVisible) return; // Bedingung hier prüfen
|
||||
|
||||
// Entferne alte Marker
|
||||
GMA.clearLayers();
|
||||
@@ -28,7 +29,6 @@ const useMarkersLayer = (map, markers, GisStationsMeasurements, GMA, oms) => {
|
||||
const rlf = measurements["RLF"] || "---";
|
||||
|
||||
console.log(`Station oder Bereich ${area_name} - LT: ${lt}, FBT: ${fbt}, GT: ${gt}, RLF: ${rlf}`);
|
||||
console.log(`Station idLD: ${idLD} `);
|
||||
|
||||
// Tooltip für den Marker binden
|
||||
marker.bindTooltip(
|
||||
@@ -75,7 +75,12 @@ const useMarkersLayer = (map, markers, GisStationsMeasurements, GMA, oms) => {
|
||||
});
|
||||
|
||||
map.addLayer(GMA);
|
||||
}, [map, markers, GisStationsMeasurements, GMA, oms]);
|
||||
|
||||
return () => {
|
||||
GMA.clearLayers();
|
||||
map.removeLayer(GMA); // Entferne die Layer, wenn der Hook gereinigt wird
|
||||
};
|
||||
}, [map, markers, GisStationsMeasurements, GMA, oms, isVisible]);
|
||||
};
|
||||
|
||||
export default useMarkersLayer;
|
||||
|
||||
Reference in New Issue
Block a user