Skip to content

Leaflet to maplibre migration#104

Open
flockhopperdev wants to merge 4 commits intoFoggedLens:masterfrom
flockhopperdev:feature/leaflet-to-maplibre-migration
Open

Leaflet to maplibre migration#104
flockhopperdev wants to merge 4 commits intoFoggedLens:masterfrom
flockhopperdev:feature/leaflet-to-maplibre-migration

Conversation

@flockhopperdev
Copy link

What changed:

  • New MapLibreMap.vue component using MapLibre GL JS with OSM raster tiles
  • All data layers (camera points, clusters, heatmap, direction cones, city
    boundaries) now use MapLibre's native GeoJSON sources and style layers instead
    of Leaflet overlays
  • Added collapsible layer controls on mobile for heatmap, grouping, and city
    boundary toggles
  • Fixed GPS location button coordinate format

refer to /maplibre migration docs for detailed changes & deployment instructions

I have tested locally, works great. Instructions for backend setup in setup.md

Would recommend setting up vector tiles before deploying this to production, the map is much snappier now so people will probably be consuming way more tiles

Jack Cauthen and others added 4 commits March 4, 2026 18:49
Replace Leaflet with MapLibre GL for WebGL-powered vector tile rendering,
improving performance and enabling 3D map capabilities. Key changes:

- Replace LeafletMap.vue with MapLibreMap.vue using MapLibre GL JS
- Replace tiles store with geojson store for GeoJSON-based data loading
- Add alpr_geojson serverless function and Terraform module for
  generating and serving GeoJSON data from S3
- Update DFMapPopup, Map view, and apiService for new architecture
- Remove unused Leaflet dependencies, add MapLibre GL JS
- Add migration documentation in docs/plans/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Include the full migration spec and per-file change summary
in docs/plans/ for PR reviewers and future reference.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix layer toggles staying visible on mobile by removing Vuetify d-flex
  utility class (!important) that overrode v-show, using scoped CSS instead
- Fix GPS button crash by converting geolocation [lat, lng] tuple to
  {lat, lng} object expected by center ref and updateURL

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant