- Hinzufügen einer Statusvariable 'gisSystemStaticLoaded', um den Ladezustand der GisSystemStatic-Daten zu verfolgen.
- Aktualisierte useEffect, um 'gisSystemStaticLoaded' auf true zu setzen, sobald die GisSystemStatic-Daten erfolgreich abgerufen wurden.
- Die Logik zur Erstellung von Markern wurde geändert, sodass diese nur ausgeführt wird, wenn 'gisSystemStaticLoaded' auf true gesetzt ist.
- Diese Änderung stellt sicher, dass 'getIdSystemAndAllowValueMap' korrekt gefüllt ist, bevor es verwendet wird.
- Zudem wurde ein Problem behoben, bei dem die Karte und die Marker nach einer Browser-Aktualisierung nicht richtig synchronisiert waren.
Dieser Commit führt die Nutzung von Tailwind CSS Utility-Klassen in der MapComponent ein, um eine konsistente und effiziente Stilgebung zu gewährleisten. Folgende Änderungen wurden vorgenommen:
- Hinzufügung von Tailwind-Klassen zu Popups und Tooltips, um das Erscheinungsbild der UI-Elemente zu standardisieren.
- Anwendung von Text- und Background-Utility-Klassen auf verschiedene Elemente innerhalb der Marker-Popups, um die Lesbarkeit und Benutzerfreundlichkeit zu erhöhen.
- Optimierung der bestehenden CSS-Klassen durch Tailwind-Utilities, um die Notwendigkeit manueller CSS-Definitionen zu reduzieren und die Wartbarkeit des Codes zu verbessern.
Diese Änderungen tragen dazu bei, das visuelle Erscheinungsbild der Karten-Interaktionen zu vereinheitlichen und die Anpassung an das bestehende Design-System zu erleichtern.
Dieser Commit führt die Nutzung von Tailwind CSS Utility-Klassen in der MapComponent ein, um eine konsistente und effiziente Stilgebung zu gewährleisten. Folgende Änderungen wurden vorgenommen:
- Hinzufügung von Tailwind-Klassen zu Popups und Tooltips, um das Erscheinungsbild der UI-Elemente zu standardisieren.
- Anwendung von Text- und Background-Utility-Klassen auf verschiedene Elemente innerhalb der Marker-Popups, um die Lesbarkeit und Benutzerfreundlichkeit zu erhöhen.
- Optimierung der bestehenden CSS-Klassen durch Tailwind-Utilities, um die Notwendigkeit manueller CSS-Definitionen zu reduzieren und die Wartbarkeit des Codes zu verbessern.
Diese Änderungen tragen dazu bei, das visuelle Erscheinungsbild der Karten-Interaktionen zu vereinheitlichen und die Anpassung an das bestehende Design-System zu erleichtern.
Dieser Commit führt eine erweiterte Interaktion mit den Kartenmarkern durch die Implementierung von openInNewTab und openInSameWindow. Benutzer können nun über das Kontextmenü verschiedene Aktionen ausführen, wie das Öffnen von Marker-bezogenen Links in einem neuen Tab oder im aktuellen Fenster und das Anzeigen von Koordinaten.
Details der Implementierung:
- `addContextMenuToMarker` wurde hinzugefügt, um das Kontextmenü jedem Marker zuzuweisen.
- Marker enthalten nun ein 'data'-Objekt für zusätzliche Informationen wie URLs, um die Funktionalität zu unterstützen.
- Spezifische Callback-Funktionen wie `openInNewTab`, `openInSameWindow` und `showCoordinates` wurden definiert, um die Kontextmenüaktionen zu behandeln.
- Diese Funktionen nutzen die Marker-Daten und -Position, um relevante Aktionen direkt über die Kartenoberfläche bereitzustellen.
Ziel dieser Änderungen ist es, die Benutzerinteraktion mit der Karte durch schnellen Zugriff auf relevante Informationen und Funktionen zu verbessern.
Dieser Commit führt eine erweiterte Interaktion mit den Kartenmarkern durch die Implementierung von kontextspezifischen Menüs ein. Benutzer können nun über das Kontextmenü verschiedene Aktionen ausführen, wie das Öffnen von Marker-bezogenen Links in einem neuen Tab oder im aktuellen Fenster und das Anzeigen von Koordinaten.
Details der Implementierung:
- `addContextMenuToMarker` wurde hinzugefügt, um das Kontextmenü jedem Marker zuzuweisen.
- Marker enthalten nun ein 'data'-Objekt für zusätzliche Informationen wie URLs, um die Funktionalität zu unterstützen.
- Spezifische Callback-Funktionen wie `openInNewTab`, `openInSameWindow` und `showCoordinates` wurden definiert, um die Kontextmenüaktionen zu behandeln.
- Diese Funktionen nutzen die Marker-Daten und -Position, um relevante Aktionen direkt über die Kartenoberfläche bereitzustellen.
Ziel dieser Änderungen ist es, die Benutzerinteraktion mit der Karte durch schnellen Zugriff auf relevante Informationen und Funktionen zu verbessern.
- Funktion `checkOverlappingMarkers` hinzugefügt, die prüft, ob Marker überlappen, und bei Bedarf ein Plus-Icon anzeigt.
- Sichert ab, dass die Marker-Liste immer ein Array ist, um Fehler zu vermeiden.
- Verwendet `L.latLng` und `L.marker` für die präzise Positionierung des Plus-Icons bei überlappenden Stationen.
- Aktualisierte den Zustand für verschiedene Marker-Typen und Layer, um eine korrekte Anzeige sicherzustellen.
- Optimierte die Anzeige der Stationen und verbesserte die Tooltip- und Popup-Interaktionen.
Dieses Update verbessert die Übersichtlichkeit der Karte und vereinfacht das Navigieren bei überlappenden Stationen.
- Implementierung der Fremdschlüssel-Logik für die `poiTyp`-Daten in `MapComponent`.
- Nutzung einer Map, um die Fremdschlüssel-Beziehung zwischen `poiTyp`-IDs und deren Namen effizient zu verwalten.
- Sicherstellung, dass `poiTypName` korrekt in Marker-Popups angezeigt wird, indem die Fremdschlüssel-Beziehung geprüft wird.
- Verbesserte Bedingungsprüfung sorgt dafür, dass die Popups nun die richtigen `poiTypName`-Werte anzeigen, oder als Fallback "Unbekannt" verwendet wird.
- Effekt-Logik wurde so angepasst, dass Marker nur aktualisiert werden, wenn die `poiTyp`-Daten vollständig geladen sind.
- Implementiere die Funktion `onClose` in der `ShowAddStationPopup`-Komponente, die als Prop übergeben wird.
- Rufe `onClose` in der `handleSubmit`-Funktion auf, damit das Popup-Fenster korrekt geschlossen wird, nachdem eine neue Station erfolgreich hinzugefügt wurde.
- Aktualisiere die Trigger-Logik, um sicherzustellen, dass neue Stationen korrekt geladen werden.
Diese Änderungen verbessern die Benutzererfahrung, indem das Popup-Fenster automatisch geschlossen wird und die Karte aktualisiert bleibt.
- Entfernt redundanten `RecoilRoot` aus `MapComponent`, um Probleme mit verschachtelten Wurzeln zu vermeiden.
- Sichergestellt, dass `MapComponent` immer innerhalb des zentralen `RecoilRoot` gerendert wird, der in `_app.js` definiert ist.
- Das Problem "Diese Komponente muss innerhalb einer `<RecoilRoot>`-Komponente verwendet werden" durch Platzieren aller Recoil-States im korrekten Kontext behoben.
- `ShowAddStationPopup` direkt als JSX-Element innerhalb von `MapComponent` zur besseren Übersicht verwendet.
Moved all Recoil atoms to a new 'atoms' directory and selectors to a 'selectors' directory to clarify the project structure and improve maintainability. This change separates concerns by clearly distinguishing between simple state (atoms) and derived state (selectors), facilitating better understanding and scalability of the application's state management.
The ShowAddStationPopup component was failing to close popups because it was using an uninitialized 'map' object. This commit changes the reference from 'map' to 'initMap' at the point where ShowAddStationPopup is rendered. This ensures that the correct map instance is being used, resolving the TypeError related to undefined properties when attempting to close the popup.
This change is critical for maintaining the functionality of our map interactions, particularly in scenarios where dynamic components are rendered based on user actions.
2. Dynamisches Checkbox-Handling: Die Checkboxen werden dynamisch anhand der gefilterten Systeme erstellt. Ihre Sichtbarkeitsänderungen werden zentral gehandhabt.
3. Verwaltung der Sichtbarkeit: Die Sichtbarkeit jedes Systems wird in mapLayersVisibility basierend auf Benutzerinteraktionen gesteuert.
Mouseover für Popup, ok.
Reinzoomen ok.
Rauszoomen ok.
Hier zentrieren ok.
Nur TALAS layerGroup über checkbox ein- und ausblenden.
Marker von DB anzeigen, aber verschieben geht noch nicht und hinzufügen auch nicht.