feat(maps): centralize tile provider with Geoapify support

Introduces map-tiles.js module to centralize tile provider logic, supporting Geoapify (paid, high quality) with API key fallback to OSM public server. Updates LeafletMap, ResultMap, and CoverageMap to use the new abstraction, improves maintainability and consistency across the codebase.
This commit is contained in:
tiennm99 committed 2026-09-01 09:43:19 +07:00
1 parent bbe5987a9b
commit a5c9ef5876
9 files changed
+130 -15

No files matched your search

+6 -2
View File
@@ -16,8 +16,12 @@
`api/debug/mapillary/route.js` keeps the search as a diagnostic, and will
reproduce those 500s
- **Leaflet**: Interactive mapping library for guess placement
- **OpenStreetMap**: Map tile provider for base maps; Nominatim supplies the
administrative boundaries via `scripts/build-region-boundaries.mjs`
- **Map tiles**: `src/lib/map-tiles.js` picks the provider at build time —
Geoapify (`NEXT_PUBLIC_GEOAPIFY_KEY` set; free tier permits commercial use)
or the OSM public server as the keyless fallback for dev, e2e, and forks
- **OpenStreetMap**: Map data (© OpenStreetMap contributors, ODbL); Nominatim
supplies the administrative boundaries via
`scripts/build-region-boundaries.mjs`
- **@photo-sphere-viewer/core**: 360° panorama viewer
## Geographic Processing