Übungen: JavaScript-Grundlagen III
In diesen Übungen arbeiten Sie mit Leaflet.js, GeoJSON und CSS-Visualisierungen. Jede Übung enthält Starter-Code — ergänzen Sie den fehlenden JavaScript-Code, um die Aufgabe zu lösen.
Korrespondenz-Karte
Erstellen Sie eine Leaflet-Karte, die Korrespondenz-Orte aus Hugo Schuchardts Briefnetzwerk anzeigt. Die GeoJSON-Daten mit 8 Städten sind bereits im Starter-Code enthalten. Ihre Aufgaben:
- Initialisieren Sie die Leaflet-Karte im Container
#map, zentriert auf Europa - Fügen Sie einen Tile-Layer (OpenStreetMap oder CartoDB) hinzu
- Fügen Sie die GeoJSON-Daten mit
L.geoJSON()zur Karte hinzu - Erstellen Sie Popups, die den Stadtnamen und die Briefanzahl anzeigen
- Passen Sie den Kartenausschnitt mit
fitBounds()an, sodass alle Marker sichtbar sind
Zeitleisten-Visualisierung
Erstellen Sie eine horizontale Zeitleiste, die Briefe chronologisch darstellt. Die Briefdaten (10 Einträge mit Datum und Empfänger) sind bereits vorhanden. Ihre Aufgaben:
- Berechnen Sie die Position jedes Briefes auf der Zeitleiste (als Prozent der Gesamtspanne)
- Erstellen Sie für jeden Brief ein
<div>-Element mit CSS-Positionierung - Zeigen Sie Datum und Empfänger an
- Stylen Sie die Zeitleiste mit der vorgegebenen CSS-Klasse
Mini-Dashboard
Kombinieren Sie eine Leaflet-Karte mit einer Tabelle und einem Suchfilter zu einem Mini-Dashboard. Das CSS Grid Layout und die Daten sind vorgegeben. Ihre Aufgaben:
- Initialisieren Sie die Leaflet-Karte im Bereich
#map - Erstellen Sie Marker für alle 10 Korrespondenz-Einträge
- Rendern Sie die Daten als Tabellenzeilen in
#tabelle tbody - Implementieren Sie die Filter-Logik: Bei Eingabe im Suchfeld werden sowohl die Marker auf der Karte als auch die Tabellenzeilen gefiltert
GeoJSON erstellen
Erstellen Sie eigene GeoJSON-Daten und sehen Sie sie live auf einer Karte. Im Starter-Code sind ein Textfeld für GeoJSON-Eingabe und eine Karte vorbereitet. Ihre Aufgaben:
- Initialisieren Sie die Leaflet-Karte
- Implementieren Sie die Logik für den „Auf Karte anzeigen“-Button: GeoJSON aus dem Textfeld parsen und auf der Karte darstellen
- Zeigen Sie Fehlermeldungen an, wenn das GeoJSON ungültig ist
- Bearbeiten Sie das vorgegebene GeoJSON: Fügen Sie 2-3 weitere Orte hinzu
Für das Abschlussprojekt: Module kombinieren
Im Assignment 3 können Sie alle vorhandenen Hilfsmodule kombinieren, um ein vollständiges DH-Dashboard zu bauen:
<script src="js/data-utils.js">— Daten laden, filtern, sortieren, als Tabelle rendern<script src="js/tei-viewer.js">— TEI-XML-Briefe laden und als HTML darstellen
Kombiniert mit Leaflet.js haben Sie alle Bausteine für Karte + Tabelle + Filter + TEI-Ansicht.
Dokumentieren Sie in Ihrer CLAUDE.md, welche Module Sie nutzen und warum.