sync

Sync the plotted alert impacted-area overlays to the given desired set, WITHOUT floor scoping (property-level / back-compat). Every supplied area whose rings are usable is plotted regardless of the current visible floor.

Parameters

customPlot

the map's custom plot surface

areas

the FULL desired set of active-alert impacted-area polygons (empty removes every previously plotted overlay)


open fun sync(@NonNull customPlot: MapApi.CustomPlot, @NonNull areas: List<AlertImpactPolygonPlotter.AreaPolygon>, currentBuildingId: Int, currentFloorId: Int)

Floor-aware sync: keeps the plotted overlays in sync with the desired set, scoped to the current visible floor. The FULL areas set is retained for re-sync on floor change.

An area is kept in the desired (plotted) set when it is property-level (floorId == -1, always visible) OR it is on the current floor (floorId == currentFloorId and its building matches currentBuildingId or is -1). Concrete-floor areas on a different floor are excluded so the stale-removal branch hides them; returning to that floor re-plots them via the plot branch. When currentFloorId == FLOOR_ANY no floor scoping is applied.

Parameters

customPlot

the map's custom plot surface

areas

the FULL desired set of active-alert impacted-area polygons

currentBuildingId

the currently selected building (-1 if none)

currentFloorId

the currently visible floor (FLOOR_ANY = no scoping)