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:
ISA
2024-11-29 09:31:55 +01:00
parent 67eadeae9d
commit 35915bb91f
2 changed files with 20 additions and 8 deletions

View File

@@ -240,7 +240,14 @@ const MapComponent = ({ locations, onLocationUpdate, lineCoordinates }) => {
fetchAndSetUserRights();
}, []);
useGmaMarkersLayer(map, gmaMarkers, GisStationsMeasurements, layers.MAP_LAYERS.GMA, oms); // Verwende den ausgelagerten Hook
useGmaMarkersLayer(
map,
gmaMarkers,
GisStationsMeasurements,
layers.MAP_LAYERS.GMA,
oms,
mapLayersVisibility.GMA // Übergebe die Sichtbarkeitsbedingung als Parameter
);
useEffect(() => {
const fetchWebServiceMap = async () => {
@@ -679,7 +686,7 @@ await fetchGisStationsStatusDistrict(mapGisStationsStatusDistrictUrl, setGisStat
initializeContextMenu();
}, [map]);
//--------------------------------------------
//Tooltip Werte aktualisieren
useEffect(() => {
if (!map) return; // Stelle sicher, dass die Karte initialisiert ist
@@ -696,7 +703,7 @@ await fetchGisStationsStatusDistrict(mapGisStationsStatusDistrictUrl, setGisStat
await fetchGisStationsMeasurements(mapGisStationsMeasurementsUrl, setGisStationsMeasurements, fetchOptions);
// Aktualisiere die Marker-Layer
useGmaMarkersLayer(map, gmaMarkers, GisStationsMeasurements, layers.MAP_LAYERS.GMA, oms);
// useGmaMarkersLayer(map, gmaMarkers, GisStationsMeasurements, layers.MAP_LAYERS.GMA, oms);
} catch (error) {
console.error("Fehler beim Aktualisieren der GMA-Daten:", error);
}