Kurzantwort: Für kommerzielle Nutzung sind OSM‑Community‑Tile‑Server nicht geeignet. Nutze einen bezahlten Anbieter (z. B. Thunderforest, Tracestrack) oder hoste selbst. Attribution ist immer Pflicht. Links und Hinweise je Layer/Provider: OpenStreetMap Standard (osm-standard) Lizenz/Daten: ODbL, Attribution Pflicht Tile-Server-Policy (keine Produktion/hohe Last): https://operations.osmfoundation.org/policies/tiles/ Urheberrecht/Attribution: https://www.openstreetmap.org/copyright HOT Humanitarian (osm-humanitarian) Community-Server (OSM France); keine Produktion/hohe Last Info/Policy OSM France Tiles: https://tile.openstreetmap.fr/ HOT: https://www.hotosm.org/ CyclOSM (cyclosm) Community-Server (OSM France); keine Produktion/hohe Last Projektseite: https://www.cyclosm.org/ Hinweise/Policy (OSM France): https://tile.openstreetmap.fr/ Wiki: https://wiki.openstreetmap.org/wiki/CyclOSM Carto Light (carto-light / Positron) Keylos nutzbar mit Attribution; Fair‑Use, für hohe Last über CARTO‑Pläne Basemaps: https://carto.com/basemaps/ Attribution: https://carto.com/attributions Pricing (Plattform): https://carto.com/pricing/ (bei großem Volumen Sales kontaktieren) Thunderforest (Cycle/Transport u. a.) Kommerziell mit API‑Key; Pläne von Free bis Pro Pricing: https://www.thunderforest.com/pricing/ Terms/Attribution: https://www.thunderforest.com/terms/ Tracestrack Topo API‑Key erforderlich; kostenlose und bezahlte Pläne Übersicht/Pricing: https://www.tracestrack.com/en/maps/ Nutzungsbedingungen: https://www.tracestrack.com/en/terms/
📘 NodeMap – Entwicklerdokumentation
Willkommen in der Entwicklerdokumentation für NodeMap – einer modularen Kartenanwendung zur Visualisierung und Bearbeitung von GIS-Daten, POIs und Gerätestatus in einer interaktiven Leaflet-Karte.
Diese Anleitung führt dich Schritt für Schritt durch die wichtigsten Themen für lokale Entwicklung, Architekturverständnis und Erweiterung.
📚 Inhaltsverzeichnis
🔹 Einstieg & Übersicht
🧭 Architektur
⚙️ Konfiguration
⚙️ Kartenquellen-Konfiguration (public/config.json)
Die Datei public/config.json steuert, welche Kartenquelle (z.B. OSM oder lokale Tiles) für die
Leaflet-Karte verwendet wird.
Beispiel:
{
"//info": "tileSources: 'local' für offline, 'osm' für online",
"tileSources": {
"local": "http://localhost/talas5/TileMap/mapTiles/{z}/{x}/{y}.png",
"osm": "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
},
"active": "osm"
}
- Mit
activekann zwischen Online- und Offline-Karten umgeschaltet werden. - Die Datei wird beim Start der App automatisch geladen.
- Für Offline-Betrieb muss das lokale Kartenmaterial vorhanden sein (siehe Installationsanleitung).
🧩 Hauptkomponenten
🗺️ Kontextmenü
➕ POIs
📏 GIS-Polylinien
💡 UI-Komponenten
🧪 Weitere Tools
Projektüberblick
NodeMap wird von TALAS.web über einen iFrame geladen. Die Anwendung basiert auf folgenden Technologien:
| Technologie | Zweck |
|---|---|
| Next.js | React-Framework (Frontend/SSR) |
| Leaflet | Kartendarstellung |
| Redux Toolkit | Zustandverwaltung |
| Tailwind CSS | Styling |
| MySQL | Datenbank |
| Node.js / IIS | Server und Auslieferung |
👉 Mehr zur Systemarchitektur: architecture.md
Projektstruktur & Setup
Zielsystem
- Offline-Umgebung
- Windows-Server mit IIS
- Datenzugriff über TALAS-Webservice oder lokale API
Lokale Entwicklung
➡ Entwicklungs-Setup
➡ Projektstruktur erklärt
➡ Abhängigkeiten & Tools
➡ Umgebungsvariablen (env-Dateien)
Webservices & API-Fluss
NodeMap verwendet zwei Quellen für Daten:
- TALAS-WebServices (Port 80) – POIs, Geräte, Rechte, Linien usw.
- Lokale Next.js API (Port 3000) – direkte Datenbankzugriffe via MySQL
Zustandverwaltung Redux
Die komplette Anwendung verwendet Redux zur globalen Zustandverwaltung.
- Architektur:
Service → Thunk → Slice → Komponente - Beispiel: POIs, Marker, Linien, Rechte, Layer-Status
- Redux DevTools werden unterstützt
Entwicklung & Testdaten
Zur Entwicklung ohne echte API stehen lokale Mockdaten zur Verfügung:
- Aktivierung über
.env.development → NEXT_PUBLIC_USE_MOCKS=true - In
.env.productionsollteNEXT_PUBLIC_USE_MOCKS=falsegesetzt sein - Nutzung z. B. in
pages/api/mocks/... - Hinweise im UI zeigen aktivierten Mockmodus
Fehlerbehandlung & Glossar
Typische Probleme (z. B. Webservice nicht erreichbar, Layer nicht sichtbar) werden in der FAQ
gesammelt.
Zudem gibt es eine Begriffsliste zur Orientierung:
➡ FAQ & häufige Fehler
➡ Glossar
Hinweis zum Deployment
📦 Die Anleitung für Server-Installation und ZIP-Deployment findest du in:
➡ Root-README.md
Tipp
Wenn du neu im Projekt bist, beginne mit dem Kapitel Projektstruktur & Setup und folge dann über die Webservices bis zu den Komponenten.