38 lines
1.3 KiB
JavaScript
38 lines
1.3 KiB
JavaScript
import { useEffect } from "react";
|
|
import { fetchGisStationsMeasurements } from "../services/api/fetchGisStationsMeasurements";
|
|
|
|
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]);
|
|
};
|