diff --git a/src/modules/activities/components/ActivityMap.vue b/src/modules/activities/components/ActivityMap.vue index 9448bde..06f6a69 100644 --- a/src/modules/activities/components/ActivityMap.vue +++ b/src/modules/activities/components/ActivityMap.vue @@ -15,6 +15,7 @@ const router = useRouter() const mapContainer = ref(null) let map: L.Map | null = null let markerGroup: L.LayerGroup | null = null +let hasFittedBounds = false // Fix Leaflet default icon paths (broken by bundlers) const defaultIcon = L.icon({ @@ -90,8 +91,9 @@ function updateMarkers() { markerGroup.addLayer(marker) } - // Fit bounds if there are markers - if (geoActivities.length > 0) { + // Fit bounds only on first load, not when new activities stream in + if (!hasFittedBounds && geoActivities.length > 0) { + hasFittedBounds = true const bounds = L.latLngBounds( geoActivities.map(a => [a.coordinates!.lat, a.coordinates!.lng] as L.LatLngTuple) )