- 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.
56 lines
1.3 KiB
JavaScript
56 lines
1.3 KiB
JavaScript
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,
|
|
]);
|
|
};
|