Erweiterte Suchfunktion in Dropdownmenü für selectedArea über alle Layergruppen hinweg

This commit is contained in:
ISA
2024-04-28 20:03:27 +02:00
parent 01a35c7c74
commit be28d772d8
5 changed files with 56 additions and 25 deletions

View File

@@ -72,13 +72,20 @@ function DataSheet() {
); );
}, [GisStationsStaticDistrict, GisSystemStatic]); }, [GisStationsStaticDistrict, GisSystemStatic]);
const handleCheckboxChange = (name, event) => { const handleCheckboxChange = (name, event) => {
const { checked } = event.target; const { checked } = event.target;
setMapLayersVisibility((prev) => ({ //console.log(`Checkbox ${name} checked state:`, checked); // Log the checked state of the checkbox
setMapLayersVisibility((prev) => {
const newState = {
...prev, ...prev,
[name]: checked, [name]: checked,
})); };
}; //console.log(`New mapLayersVisibility state:`, newState); // Log the new state after update
return newState;
});
};
return ( return (
<div <div

View File

@@ -335,6 +335,7 @@ const MapComponent = ({ locations, onLocationUpdate }) => {
const zoomIn = (e) => { const zoomIn = (e) => {
initMap.flyTo(e.latlng, 12); initMap.flyTo(e.latlng, 12);
console.log("ZoomIn koordinaten in MapComponent", e.latlng);
}; };
const zoomOut = (e) => { const zoomOut = (e) => {
@@ -1458,22 +1459,45 @@ const MapComponent = ({ locations, onLocationUpdate }) => {
//------------------------------------------ */ //------------------------------------------ */
const selectedArea = useRecoilValue(selectedAreaState); const selectedArea = useRecoilValue(selectedAreaState);
useEffect(() => { // Combine all markers into a single array
if (selectedArea && map) { const allMarkers = [
// Angenommen, jeder Marker hat eine option `areaName`, die beim Erstellen gesetzt wurde. ...talasMarkers,
const marker = talasMarkers.find( ...eciMarkers,
(marker) => marker.options.areaName === selectedArea ...gsmModemMarkers,
); ...ciscoRouterMarkers,
if (marker) { ...wagoMarkers,
map.flyTo(marker.getLatLng(), 14); // Zoomstufe anpassen nach Bedarf ...siemensMarkers,
} ...otdrMarkers,
} ...wdmMarkers,
}, [selectedArea, map]); // Abhängigkeiten beinhalten selectedArea und map ...gmaMarkers,
...messstellenMarkers,
...talasiclMarkers,
...dauzMarkers,
...smsfunkmodemMarkers,
...sonstigeMarkers,
...ulafMarkers,
];
const findMyMarker = (areaName) => { // Function to find a marker by areaName across all groups
const findMyMarker = (areaName) => {
return allMarkers.find((marker) => marker.options.areaName === areaName);
};
// Effect to handle navigation to selected area
useEffect(() => {
if (selectedArea && map) {
const marker = findMyMarker(selectedArea);
if (marker) {
map.flyTo(marker.getLatLng(), 14); // Adjust zoom level as needed
}
}
}, [selectedArea, map, allMarkers]); // Include allMarkers in the dependencies
/* const findMyMarker = (areaName) => {
// Angenommen, jeder Marker hat eine option `areaName`, die beim Erstellen gesetzt wurde. // Angenommen, jeder Marker hat eine option `areaName`, die beim Erstellen gesetzt wurde.
return talasMarkers.find((marker) => marker.options.areaName === areaName); return talasMarkers.find((marker) => marker.options.areaName === areaName);
}; }; */
//------------------------------------------ //------------------------------------------

View File

@@ -31,17 +31,17 @@ if (typeof window !== "undefined") {
user = url.searchParams.get("u") || "484"; // Ein weiterer Parameter aus der URL, Standardwert ist '484 admin zu testen von Stationen ausblenden und einblenden in der Card' user = url.searchParams.get("u") || "484"; // Ein weiterer Parameter aus der URL, Standardwert ist '484 admin zu testen von Stationen ausblenden und einblenden in der Card'
// Konstruktion von URLs, die auf spezifische Ressourcen auf dem Server zeigen // Konstruktion von URLs, die auf spezifische Ressourcen auf dem Server zeigen
mapGisStationsStaticDistrictUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsStaticDistrict?idMap=${c}&idUser=${user}`; //idMap: 10, idUser: 484 /* mapGisStationsStaticDistrictUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsStaticDistrict?idMap=${c}&idUser=${user}`; //idMap: 10, idUser: 484
mapGisStationsStatusDistrictUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsStatusDistrict?idMap=${c}&idUser=${user}`; mapGisStationsStatusDistrictUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsStatusDistrict?idMap=${c}&idUser=${user}`;
mapGisStationsMeasurementsUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsMeasurements?idMap=${c}`; mapGisStationsMeasurementsUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsMeasurements?idMap=${c}`;
mapGisSystemStaticUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisSystemStatic?idMap=${c}&idUser=${user}`; mapGisSystemStaticUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisSystemStatic?idMap=${c}&idUser=${user}`;
mapDataIconUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GetIconsStatic`; mapDataIconUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GetIconsStatic`; */
/* mapGisStationsStaticDistrictUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsStaticDistrict`; mapGisStationsStaticDistrictUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsStaticDistrict`;
mapGisStationsStatusDistrictUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsStatusDistrict`; mapGisStationsStatusDistrictUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsStatusDistrict`;
mapGisStationsMeasurementsUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsMeasurements`; mapGisStationsMeasurementsUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisStationsMeasurements`;
mapGisSystemStaticUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisSystemStatic`; mapGisSystemStaticUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GisSystemStatic`;
mapDataIconUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GetIconsStatic`; */ mapDataIconUrl = `${serverURL}/talas5/ClientData/WebserviceMap.asmx/GetIconsStatic`;
// URLs zu Offline-Daten, falls benötigt // URLs zu Offline-Daten, falls benötigt
} }

2
package-lock.json generated
View File

@@ -1,5 +1,5 @@
{ {
"name": "OpenStreetMapProject 19.04.2024", "name": "OpenStreetMapProject-26.04.2024",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {

View File

@@ -2,8 +2,8 @@
import { createProxyMiddleware } from "http-proxy-middleware"; import { createProxyMiddleware } from "http-proxy-middleware";
export default createProxyMiddleware({ export default createProxyMiddleware({
target: "http://10.10.0.13", // Ziel-URL des Proxys //target: "http://10.10.0.13", // Ziel-URL des Proxys
//target: "http://192.168.10.187:3000", // Ziel-URL des Proxys target: "http://192.168.10.187:3000", // Ziel-URL des Proxys
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
"^/api": "/", // Optional: Entfernt /api aus dem Pfad, wenn das Backend dies nicht erfordert "^/api": "/", // Optional: Entfernt /api aus dem Pfad, wenn das Backend dies nicht erfordert