feat: GMA-Datenaktualisierung in useUpdateGmaData Hook ausgelagert

- Fetch-Logik zum Aktualisieren der Tooltip-Werte aus MapComponent.js ausgelagert.
- Neuer Hook: useUpdateGmaData im hooks-Verzeichnis hinzugefügt.
- Verbesserung der Modularität und Wiederverwendbarkeit.
This commit is contained in:
ISA
2024-12-22 06:53:07 +01:00
parent 808673cb13
commit 2392d410be
2 changed files with 64 additions and 33 deletions

55
hooks/useUpdateGmaData.js Normal file
View File

@@ -0,0 +1,55 @@
import { useEffect } from "react";
import { fetchGisStationsMeasurements } from "../services/fetchData";
export const useUpdateGmaData = (
map,
setGisStationsMeasurements,
mapGisStationsMeasurementsUrl,
gmaMarkers,
layers,
oms
) => {
useEffect(() => {
if (!map) return; // Sicherstellen, dass die Karte initialisiert ist
const updateGmaData = async () => {
try {
const fetchOptions = {
method: "GET",
headers: {
Connection: "close",
},
};
// Aktualisiere die Messdaten
await fetchGisStationsMeasurements(
mapGisStationsMeasurementsUrl,
setGisStationsMeasurements,
fetchOptions
);
// Aktualisiere die Marker-Layer
// useGmaMarkersLayer(map, gmaMarkers, GisStationsMeasurements, layers.MAP_LAYERS.GMA, oms);
} catch (error) {
console.error("Fehler beim Aktualisieren der GMA-Daten:", error);
}
};
// Initialer Datenabruf
updateGmaData();
// Intervall für periodische Updates (optional einkommentieren)
/* const intervalId = setInterval(() => {
updateGmaData();
}, 5000);
return () => clearInterval(intervalId); */
}, [
map,
gmaMarkers,
layers.MAP_LAYERS.GMA,
oms,
mapGisStationsMeasurementsUrl,
setGisStationsMeasurements,
]);
};