diff --git a/src/modules/geoportal/components/map-viewer.tsx b/src/modules/geoportal/components/map-viewer.tsx index c74d5f3..6b36765 100644 --- a/src/modules/geoportal/components/map-viewer.tsx +++ b/src/modules/geoportal/components/map-viewer.tsx @@ -439,43 +439,14 @@ export const MapViewer = forwardRef( paint: { "fill-color": "#3b82f6", "fill-opacity": 0.5 } }); map.addLayer({ id: LAYER_IDS.cladiriLine, type: "line", source: SOURCES.cladiri, "source-layer": SOURCES.cladiri, minzoom: 14, paint: { "line-color": "#1e3a5f", "line-width": 0.6 } }); - // Building body labels (C1, C2...) — visible at high zoom - // cadastral_ref = "77102-C1" → display "C1" - { - // Add after a small delay to ensure the style is fully loaded - // and the source has been registered - const addBuildingLabels = () => { - try { - if (map.getLayer(LAYER_IDS.cladiriLabel)) return; - map.addLayer({ - id: LAYER_IDS.cladiriLabel, - type: "symbol", - source: SOURCES.cladiri, - "source-layer": SOURCES.cladiri, - minzoom: 17, - filter: ["has", "cadastral_ref"], - layout: { - "text-field": ["get", "cadastral_ref"], - "text-font": ["Noto Sans Regular"], - "text-size": 9, - "text-anchor": "center", - "text-allow-overlap": true, - "text-ignore-placement": true, - }, - paint: { - "text-color": "#1e3a8a", - "text-halo-color": "#ffffff", - "text-halo-width": 1.5, - }, - }); - } catch (e) { - console.warn("[map] building labels failed:", e); - } - }; - // Try immediately, retry after 2s if source not ready - try { addBuildingLabels(); } catch { /* */ } - setTimeout(addBuildingLabels, 2000); - } + // Building body labels — same pattern as terenuriLabel (which works) + map.addLayer({ id: LAYER_IDS.cladiriLabel, type: "symbol", source: SOURCES.cladiri, "source-layer": SOURCES.cladiri, minzoom: 17, + layout: { + "text-field": ["coalesce", ["get", "cadastral_ref"], ""], + "text-font": ["Noto Sans Regular"], + "text-size": 9, "text-anchor": "center", "text-allow-overlap": true, + }, + paint: { "text-color": "#1e3a8a", "text-halo-color": "#fff", "text-halo-width": 1.5 } }); // === Selection highlight === map.addLayer({ id: LAYER_IDS.selectionFill, type: "fill", source: SOURCES.terenuri, "source-layer": SOURCES.terenuri, minzoom: 13,