UNPKG

@expofp/floorplan

Version:

Interactive floor plan library for expos and events

26 lines 1.5 kB
import { type Renderer } from '@expofp/renderer'; import { type Map as MaplibreMap } from 'maplibre-gl'; import { type RefObject } from 'react'; import { type GeoConfig } from './utils/geo-config'; /** * Renders the outdoor PoI markers (hotels, parking, transit) as native * MapLibre layers: a GeoJSON source with `cluster: true` plus symbol/circle * layers on top of it. Geo map only — the hook is mounted from * MaplibreAdapter, and runs once the renderer's `3d` custom layer exists so * the marker stack draws above the floor plan. * * The marker feed is `store.poiMarkerStore`: `config-outdoor-poi` builds the * marker records (including the rasterized pins, registered here via * `map.addImage`), and the store derives selection (`selectedMarkerId`), the * active filter (`outdoorFilter`) and dimming suppression from them. These * layers are the *only* rendering outdoor PoIs get — see * `configOutdoorPoiLayer`. Clicks are claimed from the renderer path via * `poiMarkerHitTest`. * * Gated behind `enableExperimentalOutdoorMarkers`: with the flag off no layers, * images or handlers are created at all. The feed is empty in that case too * (`configOutdoorPoiLayer` never publishes), so this is belt-and-braces — it * keeps the map untouched even if markers reach the store another way. */ export declare function usePoiMarkers(renderer: Renderer | null, mapRef: RefObject<MaplibreMap | null>, geoConfig: GeoConfig | null): void; //# sourceMappingURL=usePoiMarkers.d.ts.map