hasAccess

open fun hasAccess(@NonNull coreApi: CoreApi, @NonNull accessLevelId: String): Boolean

Access gate for this search result. A SearchEntity is metadata-built and does NOT carry a live engine Entity, so we resolve the engine-backed SDK Entity through coreApi.properties().getEntity(...) for each backing EntityZone and apply the SAME engine gate the map uses (hasAccess ->com.mapsted.core.engine.EntityUtils.hasAccess). This guarantees search visibility matches map visibility for building, POI and keyword results alike.

A search result can aggregate multiple zones (a multi-location POI such as "Washroom"). It is accessible if ANY backing zone is accessible, mirroring the map where the result is shown when any of its geometry is plotted.

Semantics: empty accessLevelId = property default = ALLOW; unresolvable/no-zone backing = DENY (fail-closed).

Parameters

coreApi

used to resolve the engine-backed Entity for each zone

accessLevelId

the active access level id ("" = property default)