fix(geoportal): hide OpenFreeMap built-in boundary layers on load

OpenFreeMap Liberty/Dark styles include admin boundary layers that show
even when our UAT toggle is off. Now hides all boundary/admin/border
layers from the basemap style on map load.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
AI Assistant
2026-03-24 13:18:44 +02:00
parent d2b69d5ec6
commit 7ae23aebf4
@@ -362,6 +362,14 @@ export const MapViewer = forwardRef<MapViewerHandle, MapViewerProps>(
map.on("load", () => {
const m = resolvedMartinUrl;
// Hide OpenFreeMap's built-in boundary/admin layers (we have our own)
for (const layer of map.getStyle().layers) {
const id = layer.id.toLowerCase();
if (id.includes("boundar") || id.includes("admin") || (id.includes("border") && !id.includes("water"))) {
try { map.setLayoutProperty(layer.id, "visibility", "none"); } catch { /* noop */ }
}
}
// === UAT z0-5: very coarse — lines only ===
map.addSource(SOURCES.uatsZ0, { type: "vector", tiles: [`${m}/${SOURCES.uatsZ0}/{z}/{x}/{y}`], minzoom: 0, maxzoom: 5 });
map.addLayer({ id: LAYER_IDS.uatsZ0Line, type: "line", source: SOURCES.uatsZ0, "source-layer": SOURCES.uatsZ0, maxzoom: 5,