- Alle Hinweise in Markdown-Dateien aktualisiert: Verwendung von `.env.production` und `.env.development` statt `.env.local` - Footer-Abschnitte mit „Zurück zur Übersicht“-Link in allen relevanten `/docs/`-Dateien ergänzt - Inhaltliche Korrekturen und Ergänzungen in Architektur-, Setup-, FAQ-, und Mockdaten-Dokumentation - Inhaltsverzeichnis in `README.md` aktualisiert und funktionierende relative Links in Unterverzeichnissen sichergestellt - Ziel: bessere Lesbarkeit, Navigation und Klarheit für neue Entwickler
2.2 KiB
2.2 KiB
🧭 setupPolylines.js – Polylinien zeichnen und verwalten
Zweck
Diese Datei enthält die zentrale Funktion setupPolylines, die in der Kartenkomponente (Leaflet)
Polylinien sowie Marker basierend auf Gerätekonfigurationen zeichnet und verwaltet.
Sie wird verwendet, um:
- Polylinien basierend auf Koordinaten zu zeichnen
- Stützpunkte visuell als Marker anzuzeigen
- Marker kontextsensitiv mit Optionen (z. B. „Stützpunkt entfernen“, „Koordinaten anzeigen“) auszustatten
- Linien zu aktualisieren und neue Koordinaten in die Datenbank zu schreiben
- Kontextmenü-Interaktionen zu ermöglichen
Besonderheiten
- Marker mit speziellen Icons (Start, Ende, Zwischenpunkt)
- Interaktivität abhängig vom Bearbeitungsmodus (
editModeauslocalStorage) - Kontextmenü pro Marker und Linie individuell steuerbar
- API-Aufrufe zur Koordinaten-Aktualisierung:
POST /api/talas_v5_DB/gisLines/updateLineCoordinates
Dynamische URL mit Port-Steuerung
Die Datei verwendet keine feste API-Basis-URL mehr aus .env.development oder
.env.production.
Stattdessen wird NEXT_PUBLIC_API_PORT_MODE verwendet, um zwischen Entwicklungs- und
Produktionsumgebung zu unterscheiden:
NEXT_PUBLIC_API_PORT_MODE=dev
Beispiel im Code:
const mode = process.env.NEXT_PUBLIC_API_PORT_MODE;
const baseUrl =
mode === "dev"
? `${window.location.protocol}//${window.location.hostname}:80/talas5/`
: `${window.location.origin}/talas5/`;
Kontextmenüaktionen
- Station öffnen (neuer Tab)
- Koordinaten anzeigen
- Zoom in/out
- Karte zentrieren
- Stützpunkt hinzufügen/entfernen (wenn editMode)
Speicherorte
- Polylinien und LineColors werden unter
window.polylinesundwindow.lineColorsglobal gespeichert - Aktive Redux-Slices:
polylineContextMenuSliceaddPoiOnPolylineSlicepolylineLayerVisibleSlice
Siehe auch
- API-Aufruf:
/api/talas_v5_DB/gisLines/updateLineCoordinates utils/geometryUtils.js,poiUtils.js,eventHandlers.jsredux/slices/polylineContextMenuSlice.js
📄 Pfad: /docs/frontend/utils/polylines/setupPolylines.md