Tracks aus Trackliste mit Popup anzeigen

Ich habe möglicherweise einige hundert Tracks und möchte diese in einer Karte darstellen. Lade ich alle gleichzeitig, so mache ich LayerSwitcher und Browser unglücklich.

Ein Objekt der Klasse OpenLayers.Control.TrackLoader lädt einmalig eine Indexdatei vom Server und lädt dann jeweils die Tracks, die im dargestellten Kartenausschnitt liegen, und entfernt Tracks, die nicht mehr im Kartenausschnitt liegen.

Wenn mehr Tracks vorliegen als das konfigurierbare Maximum zulässt, so werden die vom Benutzer sichtbar gemachten bevorzugt, die weiteren Plätze werden in der Reihenfolge der Tracks in der Indexdatei vergeben.

Beim automatischen Update werden neue Tracks an das Ende der Trackliste angehängt, um einen Eingriff in die Layerverwaltung von OpenLayers.Map zu vermeiden. Ein manueller Update (Update-Knopf) löscht zuerst alle Track-Layer, und erzeugt sie dann in der Index-Reihenfolge neu. Dabei werden die Trackdaten zu allen Layern neu vom Server geladen.

Auf Wunsch registriert der Trackloader neu erzeugte Track-Layers bei einem SelectFeature; auf diesem Weg ist das Popup mit Informationen zu einem Track implementiert.

Als Beispiel habe ich die OSM-Daten zu den 17 Wegen des Kölner Eifelvereins genutzt, die das Gebiet östlich von Köln erschließen und vorbildlich markiert sind.

Achtung: mit einem Popup-Text hinterlegt habe ich nur die ersten drei Wege.

Zum Selbermachen: HTML-Code mit Erklärung und ein größeres Beispiel