- Initiales Laden der Marker entsprechend der lokalen Speicherwerte (localStorage) korrigiert.
- Plus-Icons wird nun dynamisch aktualisiert, wenn Checkboxen geändert werden.
- Event-Listener für Sichtbarkeitsänderungen hinzugefügt, um Marker und Plus-Icons ohne Neuladen zu aktualisieren.
- Allgemeine Konsistenz zwischen `mapLayersVisibility` und tatsächlicher Sichtbarkeit der Layer verbessert.
- Die Logik zum Abrufen und Zeichnen von Linien wurde in den neuen Hook `useDrawLines` ausgelagert.
- Dies verbessert die Übersichtlichkeit in `MapComponent.js` und ermöglicht eine einfachere Wiederverwendung und Wartung.
- Der neue Hook befindet sich im Verzeichnis `hooks/layers/`.
Gängige Praxis: *Slice.js
Verwendung: Wenn du Redux Toolkit und createSlice nutzt, ist der Postfix Slice gängiger.
Begründung:
createSlice ist ein Begriff aus Redux Toolkit.
Der Name vermittelt, dass die Datei nicht nur den Reducer enthält, sondern auch Aktionen und den initialen Zustand.
Häufig in modernen Projekten verwendet.
fix: Dynamisches Ein- und Ausblenden des Plus-Icons bei Änderung der Marker-Sichtbarkeit
- Überarbeitung der `checkOverlappingMarkers`-Funktion, um sichtbare Marker korrekt zu verfolgen.
- Hinzugefügt: Dynamische Aktualisierung des Plus-Icons basierend auf Layer-Sichtbarkeit.
- Integration der Checkbox-Änderungen in den `useEffect`-Hook von `MapComponent`, um Echtzeit-Aktualisierungen zu gewährleisten.
- Verbesserte Konsistenz der Kartenanzeige ohne Neuladen des Browsers.
- Überarbeitung der `checkOverlappingMarkers`-Funktion, um sichtbare Marker korrekt zu verfolgen.
- Hinzugefügt: Dynamische Aktualisierung des Plus-Icons basierend auf Layer-Sichtbarkeit.
- Integration der Checkbox-Änderungen in den `useEffect`-Hook von `MapComponent`, um Echtzeit-Aktualisierungen zu gewährleisten.
- Verbesserte Konsistenz der Kartenanzeige ohne Neuladen des Browsers.
-Wenn keine Messwerte über Webservice kommen dann wird "-" statt "---" angezeigt
-Alle 20 Sekunden werden alle Icons neu gezeichnet. Dadurch "flackert" das Bild. Wenn die Daten (Prios) neu geladen werden sollen die Icons
nicht aus- und wieder eingeblendet werden. Wenn es nicht schnell behoben werden kann dann bitte das Intervall von 20 Sekunden auf 60 Sekunden erhöhen.
-Es soll, Wenn auf das + Symbol geklickt wird müssen alle Icons nebeneinander gezeichnet werden. Bisher kann man nur auf das oberste Icon klicken.
-MAP_VERSION = "1.0.15"
- Logik implementiert, um überlappende Marker in allen Layern zu überprüfen.
- "PlusRoundIcon" wird jetzt für überlappende Marker auf der Karte angezeigt.
- useEffect angepasst, um alle Marker-Layer in die Überprüfung einzubeziehen.
- Ursache des Problems: Inkonsistenz bei der Benennung des Layers in `useLayerVisibility` ("SMSFunkmodem" vs. "SMSModem").
- Anpassung des Layer-Namens in `useLayerVisibility`, um mit der `GisSystemStatic`-Datenstruktur und `mapLayersVisibility` übereinzustimmen.
- Konflikt führte dazu, dass der SMS Modem-Layer nicht korrekt sichtbar/unsichtbar geschaltet wurde.
- Debugging und Anpassungen führten zur erfolgreichen Behebung des Fehlers.
Dieser Fix stellt sicher, dass die Sichtbarkeit der Marker-Layer konsistent und wie erwartet funktioniert.
- 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.
- Problem mit doppelten Icons behoben: Alte Marker werden vor jedem Update zuverlässig entfernt (clearLayers).
- Zentrale Verwaltung aller Marker-Layer-Gruppen eingeführt (Refactoring mit layerGroups).
- Plus-Icon für überlappende Marker hinzugefügt, um bessere Übersicht bei Markern an derselben Position zu gewährleisten (checkOverlappingMarkers).
- Regelmäßige Updates der Marker-Gruppen via setInterval implementiert.
- Marker-Icons werden dynamisch aktualisiert, ohne dass Blinken oder redundantes Rendering auftritt.
- ToolTip-Werte der GMA-Stationen aktualisieren sich in Echtzeit basierend auf neuen Messdaten.
- Verbesserte Performance durch gezielte Updates nur bei Datenänderungen.