Files
nodeMap/docs/utils/polylines/setupPolylines.md
ISA 8894ce4411 docs: .env.local durch .env.production & .env.development ersetzt + Rücklinks & Footer ergänzt
- 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
2025-06-24 09:00:49 +02:00

2.2 KiB
Raw Blame History

🧭 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 (editMode aus localStorage)
  • 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.polylines und window.lineColors global gespeichert
  • Aktive Redux-Slices:
    • polylineContextMenuSlice
    • addPoiOnPolylineSlice
    • polylineLayerVisibleSlice

Siehe auch

  • API-Aufruf: /api/talas_v5_DB/gisLines/updateLineCoordinates
  • utils/geometryUtils.js, poiUtils.js, eventHandlers.js
  • redux/slices/polylineContextMenuSlice.js

📄 Pfad: /docs/frontend/utils/polylines/setupPolylines.md


Zurück zur Übersicht