RoadObjectsStore
public final class RoadObjectsStore
extension RoadObjectsStore: RoadObjectsStoreObserver
Stores and provides access to metadata about road objects.
You do not create a RoadObjectsStore
object manually. Instead, use the RouteController.roadObjectsStore
or PassiveLocationDataSource.roadObjectsStore
to access the currently active road objects store.
-
The road objects store’s delegate.
Declaration
Swift
public weak var delegate: RoadObjectsStoreDelegate? { get set }
-
Returns mapping
road object identifier -> RoadObjectEdgeLocation
for all road objects which are lying on the edge with given identifier.Declaration
Swift
public func roadObjectEdgeLocations(edgeIdentifier: ElectronicHorizon.Edge.Identifier) -> [RoadObjectIdentifier : RoadObjectEdgeLocation]
Parameters
edgeIdentifier
The identifier of the edge to query.
-
Returns metadata of object with given identifier, if such object cannot be found returns null. NB: since road objects can be removed/added in background we should always check return value for null, even if we know that we have object with such identifier based on previous calls.
Declaration
Swift
public func roadObjectMetadata(identifier roadObjectIdentifier: RoadObjectIdentifier) -> RoadObjectMetadata?
Parameters
roadObjectIdentifier
The identifier of the road object to query.
-
Returns location of object with given identifier, if such object cannot be found returns null. NB: since road objects can be removed/added in background we should always check return value for null, even if we know that we have object with such identifier based on previous calls.
Declaration
Swift
public func roadObjectLocation(identifier roadObjectIdentifier: RoadObjectIdentifier) -> RoadObjectLocation?
Parameters
roadObjectIdentifier
The identifier of the road object to query.
-
Returns list of road object ids which are (partially) belong to
edgeIds
.Declaration
Swift
public func roadObjectIdentifiers(edgeIdentifiers: [ElectronicHorizon.Edge.Identifier]) -> [RoadObjectIdentifier]