hasAccess
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
used to resolve the engine-backed Entity for each zone
the active access level id ("" = property default)