NDSStore
public final class NDSStore : UpdatableDataStore
Implements access to operations with an offline NDS map.
Important
This is a Public Preview API. It may be changed or removed at any time.-
Creates an instance of
NDSStore
.Throws
NDSStoreError
if there is something wrong with the configuration.Declaration
Swift
public init( configuration: NDSStoreConfiguration, sync: MapDataStoreAccessSyncing = NDSStoreAccessSync() ) throws
Parameters
configuration
Store configuration.
sync
An instance of
MapDataStoreAccessSyncing
that synchronizes access to onboard map data.
-
Errors on the NDS store itself.
See moreDeclaration
Swift
public enum NDSStoreError : Error
-
The geopolitical view in ISO 3166-1 alpha-2 form. See more documentation in
geopoliticalView
.Declaration
Swift
public let geopoliticalView: String?
-
Synchronizes access to the map data.
Declaration
Swift
public let sync: MapDataStoreAccessSyncing
-
Enables or disables map updates. Default value is
false
.When updates are enabled, automatic update operations (including map extension and repair of unusable regions) are started, according to the configuration.
If map updates are disabled, this component will not write to the map for any reason. Automatic updates will not run. Updates that were running are safely interrupted. In such case, call to this method will block until all ongoing updates, if any, have stopped.
Note
When an update of the map is interrupted unexpectedly (e.g. power loss), the region that was being updated could become unusable.Declaration
Swift
public var updatesEnabled: Bool { get set }
-
Sets current position.
Declaration
Swift
public func updatePosition(_ position: CLLocationCoordinate2D)
Parameters
position
The new value for current position.
-
Sets the active route.
Note
Updating the active route triggers map update if along route update is enabled. and the polyline differs from the previous one.Declaration
Swift
public func updateActiveRoute(_ polyline: [CLLocationCoordinate2D])
Parameters
polyline
The polyline representing the new active route.
-
Adds observer that is called when an automatic update fails due to an irrecoverable error.
Declaration
Swift
public func addAutomaticMapUpdateFailureObserver(_ observer: AutomaticMapUpdateFailureObserver)
Parameters
observer
The observer to be registered.
-
Removes previously registered observer.
Declaration
Swift
public func removeAutomaticMapUpdateFailureObserver(_ observer: AutomaticMapUpdateFailureObserver)
Parameters
observer
The registered observer.
-
Adds an observer for information about the state of the map.
Note
The observer is called with the current region graph as soon as it is added. The first observer that is added triggers the process of determining the region graph. If the region graph cannot be determined, an error is returned. In that case, the observer will be called when and if the error is resolved.
Declaration
Swift
public func addRegionGraphObserver(_ observer: RegionGraphObserver)
Parameters
observer
The observer to be added.
-
Removes a previously registered observer.
Declaration
Swift
public func removeRegionGraphObserver(_ observer: RegionGraphObserver)
Parameters
observer
The registered observer.
-
Schedules the given operations to be performed on the offline map.
Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func schedule(operations: [MapOperation])
Parameters
operations
The operations to be performed on the offline map.
-
Requests cancelation of all operations scheduled with
schedule(operations:)
for the specified updatable regions.If the operations for a node have been successfully canceled, then the
CompletedMapOperation/errorCode
of the correspondinglastCompletedOperation
is set tocanceled
.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
public func cancelAllMapOperations(for nodeIDs: [RegionGraphNodeID])
Parameters
nodeIDs
The list of node IDs that were previously passed to
schedule(operations:)
to schedule an operation. -
Finds the updatable regions within
radius
ofposition
.Important
This is a Public Preview API. It may be changed or removed at any time.Declaration
Swift
@discardableResult public func findRegionsAroundPosition( position: CLLocationCoordinate2D, radius: Measurement<UnitLength>, callback: @escaping (Result<RegionsAroundPosition, MapUpdateError>) -> () ) -> Cancellable?
Parameters
position
The position around which to get the regions.
radius
The radius of the circle around the position to search for regions.
callback
Invoked when the operation has been finished either successfully, with an error. It is called from main thread.
Return Value
The
Cancellable
operation. When map updates are not configured,nil
is returned instead. -
Finds the updatable regions along a
polyline
within a half-corridor widthradius
.Declaration
Swift
@discardableResult public func findRegionsAlongPolyline( polyline: [CLLocationCoordinate2D], radius: Measurement<UnitLength>, callback: @escaping (Result<RegionsAlongPolyline, MapUpdateError>) -> () ) -> Cancellable?
Parameters
polyline
Points that define a polyline on the map.
radius
Distance from the polyline (or half-width of the corridor) within which search is performed.
callback
Invoked when the operation has been finished either successfully, with an error. It is called from main thread.
Return Value
The
Cancellable
operation. When map updates are not configured,nil
is returned instead.