diff --git a/js/map.js b/js/map.js index 270ea9d..1a9a2a3 100644 --- a/js/map.js +++ b/js/map.js @@ -51,10 +51,41 @@ window.createMarker = function(lngLat, content = {}) { } markersContainer.appendChild(markerElement); + updateMarkersList(); // Call the new function to update the list + return marker; }; // Update the updateJourneyPath function to handle cases where markers array is empty +function updateMarkersList() { + const markersContainer = document.getElementById('markers-container'); + markersContainer.innerHTML = ''; + + if (currentJourney.markers.length === 0) { + markersContainer.innerHTML = '

No markers yet. Click on the map to add markers.

'; + return; + } + + currentJourney.markers.forEach((marker, index) => { + const markerElement = document.createElement('div'); + markerElement.className = 'marker-item'; + markerElement.innerHTML = ` + ${index + 1} + ${marker.getLatLng().lat.toFixed(4)}, ${marker.getLngLat().lng.toFixed(4)} + `; + + // Add click handler to zoom to marker + markerElement.addEventListener('click', () => { + map.flyTo({ + center: [marker.getLatLng().lat, marker.getLatLng().lng], + zoom: 10 + }); + }); + + markersContainer.appendChild(markerElement); + }); +} + function updateJourneyPath() { if (!map.hasLayer(journeyPath)) { journeyPath = L.polyline([], {color: '#3887be', weight: 4}); diff --git a/map.html b/map.html index cb529f8..62ddb2f 100644 --- a/map.html +++ b/map.html @@ -104,6 +104,8 @@ attribution: '© OpenStreetMap contributors' }).addTo(map); + updateMarkersList(); // Call the new function to update the list + // Add controls const controls = document.createElement('div'); controls.className = 'map-controls';