• Holds information for the catalog update intent. Provides information regarding installed catalog and its latest available version.

    See more

    Declaration

    Swift

    public struct CatalogUpdateInfo : Hashable
  • This method will be called on the main thread when MapUpdater.retrieveCatalogsUpdateInfo(...) has been completed. The first parameter indicates an error in case of a failure. The second parameter contains the results. Both parameters cannot be nil at the same time - or not nil at the same time. An empty CatalogUpdateInfo list represent no map updates.

    Declaration

    Swift

    public typealias CatalogsUpdateInfoCallback = (MapLoaderError?, [CatalogUpdateInfo]?) -> Void

    Parameters

    p0

    Represents an error in case of a failure. It is nil for an operation that succeeds.

    p1

    Represents a list of all catalogs that can be updated. It is nil in case of an error.

  • Protocol to get notified on status updates when updating catalog, previously downloaded by MapDownloader.

    See more

    Declaration

    Swift

    public protocol CatalogUpdateProgressListener : AnyObject
  • Represents the state of catalog map updates.

    See more

    Declaration

    Swift

    public enum CatalogUpdateState : UInt32, CaseIterable, Codable
  • Controls the client certificate verification policy on the server.

    See more

    Declaration

    Swift

    public enum ClientCertificateRequestType : UInt32, CaseIterable, Codable
  • A method which is called on the main thread when MapDownloader.getDownloadableRegions(LanguageCode, CompletionHandler) has been completed. The first argument indicates an error in case of a failure. The second argument contains the results. Both arguments cannot be nil at the same time - or not nil at the same time.

    Declaration

    Swift

    public typealias CompletionHandler = (MapLoaderError?, [Region]?) -> Void

    Parameters

    p0

    Represents an error in case of a failure. It is nil for an operation that succeeds.

    p1

    Represents a list of downloadable regions. It is nil in case of an error. Each region can contain child regions that can contain child regions and so on. Usually, the top-level regions represent continents that contain countries as children.

  • Interface for a collection of data attributes.

    Note: This is a beta release of this feature, so there could be a few bugs and unexpected behavior. Related APIs may change for new releases without a deprecation process.

    See more

    Declaration

    Swift

    public protocol DataAttributesBase : AnyObject
  • A method which is called on the main thread when MapDownloader.deleteRegions(...) has been completed.

    Declaration

    Swift

    public typealias DeleteRegionsCompletionHandler = (MapLoaderError?, [RegionId]?) -> Void

    Parameters

    p0

    Represents an error in case of a failure. It is [null] for an operation that succeeds.

    p1

    Represents a list of successfully removed map regions. It is [null] in case of an error.

  • Protocol to get notified on status updates when downloading map regions.

    See more

    Declaration

    Swift

    public protocol DownloadRegionsStatusListener : AnyObject
  • Factory class to configure SDK with external map data source. By “external map data source” we mean the map data service that is connected under the hood by our internal OCM Access Manager (OCM AM). This feature can help to share data with multiple user profiles on the same device. Note that this feature requires an advanced set-up. In case of doubt, please contact your HERE representative.

    Usage example:

    Note: This is a beta release of this feature, so there could be a few bugs and unexpected behaviors. Related APIs may change for new releases without a deprecation process.

    See more

    Declaration

    Swift

    public class ExternalMapDataSource
    extension ExternalMapDataSource: NativeBase
    extension ExternalMapDataSource: Hashable
  • Describes the reason for failing to configure SDKNativeEngine with external map data source. Note: This is a beta release of this feature, so there could be a few bugs and unexpected behaviors. Related APIs may change for new releases without a deprecation process.

    See more

    Declaration

    Swift

    public enum ExternalMapDataSourceErrorCode : UInt32, CaseIterable, Codable
    extension ExternalMapDataSourceErrorCode : Error
  • Note: This is a beta release of this feature, so there could be a few bugs and unexpected behaviors. Related APIs may change for new releases without a deprecation process.

    Declaration

    Swift

    public typealias ExternalMapDataSourceExceptionError = ExternalMapDataSourceErrorCode
  • Represents installed catalog.

    See more

    Declaration

    Swift

    public struct InstalledCatalog : Hashable
  • Represents a region, from persistent map storage.

    See more

    Declaration

    Swift

    public struct InstalledRegion : Hashable
  • Represents download status of region in the persistent map storage.

    See more

    Declaration

    Swift

    public enum InstalledRegionStatus : UInt32, CaseIterable, Codable
  • Represents a geodetic line with custom attributes. Can be created using a LineDataBuilder.

    Note: This is a beta release of this feature, so there could be a few bugs and unexpected behavior. Related APIs may change for new releases without a deprecation process.

    Declaration

    Swift

    public class LineData
    extension LineData: NativeBase
    extension LineData: Hashable
  • Line data accessor used for manipulating polylines that are part of a LineDataSource.

    Note: This is a beta release of this feature, so there could be a few bugs and unexpected behavior. Related APIs may change for new releases without a deprecation process.

    See more

    Declaration

    Swift

    public class LineDataAccessor
    extension LineDataAccessor: NativeBase
    extension LineDataAccessor: Hashable
  • Builder of LineData instances.

    Note: This is a beta release of this feature, so there could be a few bugs and unexpected behavior. Related APIs may change for new releases without a deprecation process.

    See more

    Declaration

    Swift

    public class LineDataBuilder
    extension LineDataBuilder: NativeBase
    extension LineDataBuilder: Hashable
  • Polyline data source allows the rendering engine access to the user provided polylines geometry and their attributes.

    Polyline segments are rendered following the shortest path between their end vertices.

    Note: This is a beta release of this feature, so there could be a few bugs and unexpected behavior. Related APIs may change for new releases without a deprecation process.

    See more

    Declaration

    Swift

    public class LineDataSource
    extension LineDataSource: NativeBase
    extension LineDataSource: Hashable
  • Builder of lines data source.

    Note: This is a beta release of this feature, so there could be a few bugs and unexpected behavior. Related APIs may change for new releases without a deprecation process.

    See more

    Declaration

    Swift

    public class LineDataSourceBuilder
    extension LineDataSourceBuilder: NativeBase
    extension LineDataSourceBuilder: Hashable
  • Specifies possible errors that may result from map downloading/prefetching.

    See more

    Declaration

    Swift

    public enum MapLoaderError : UInt32, CaseIterable, Codable
    extension MapLoaderError : Error
  • A class for downloading and managing map data for various regions worldwide. Downloaded map data is permanently stored on disk, enabling maps at all zoom levels, search, routing, and other features without an active data connection. Users can query available regions, download them to disk, or delete them. An instance of this class can be created using MapDownloader.fromEngineAsync(...).

    The storage path for downloaded maps can be specified via SDKOptions.persistentMapStoragePath.

    To control the type of content included in a map download, use LayerConfiguration. Once applied, it affects both the map cache and offline maps. Satellite-based map schemes are not included in the downloaded region data.

    Note: During turn-by-turn navigation, while a map download or update is in progress, navigation may not function as expected, and the app may be blocked until the operation is completed. Ensure that all pending map operations are finished before starting navigation. This applies only to MapDownloader and MapUpdater. RoutePrefetcher operations are not affected.

    See more

    Declaration

    Swift

    public class MapDownloader
    extension MapDownloader: NativeBase
    extension MapDownloader: Hashable
  • A method which is called on the main thread when MapDownloader.fromEngineAsync(...) has been completed. The MapDownloader instance is created on a background thread to not block the calling thread.

    During construction an online connection is established to fetch configuration data for internal use. If no online connection is available, cached or default values will be used. This is only for internal reasons and has no effect on the operability of the resulting instance. When configuration data is available from the cache, construction can still take a reasonable amount of time. Applications should consider to show a loading indicator.

    Declaration

    Swift

    public typealias MapDownloaderConstructionHandle = (MapDownloader) -> Void

    Parameters

    p0

    Represents a constructed MapDownloader object.

  • Error occurred during map operation. sdk.maploader.MapLoaderError represents possible errors.

    Declaration

    Swift

    public typealias MapLoaderException = MapLoaderError
  • A class to control map download process.

    See more

    Declaration

    Swift

    public class MapDownloaderTask
    extension MapDownloaderTask: NativeBase
    extension MapDownloaderTask: Hashable
  • Protocol to get notified on status updates when updating map data, previously downloaded by MapDownloader.

    See more

    Declaration

    Swift

    public protocol MapUpdateProgressListener : AnyObject
  • A class for updating regions previously downloaded using the MapDownloader. First, updates for the regions are downloaded. Once the download is complete, the update process begins, installing the new content. It is recommended to regularly call MapUpdater.retrieveCatalogsUpdateInfo(...) to check for available updates for any downloaded regions.

    If updates are available, regions can be updated asynchronously using MapUpdater.updateCatalog(...). The MapUpdateProgressListener provides update progress for each region.

    Incremental map updates are supported, by default: Instead of downloading an entire region, only the parts that have changed will be installed. This results in a faster update process. MapUpdater also aligns previously downloaded content with LayerConfiguration changes made via SDKOptions.

    Note that patching (also called “incremental updates”) is only supported for up to 8 versions. For example, if an update started with version x.y.0 then it will be supported till x.y.8 and stopped starting with x.y.9. Usually, OCM updates are released weekly. Incremental updates will stop after 2 months and a full update is performed instead.

    In case of an error, the previous map data remains available for use. It is only replaced after new map data has been successfully downloaded. Regions that fail to update must be retried in a new call. Paused updates can be resumed later.

    During the update process, MapUpdater internally retries failed downloads until a timeout occurs. If this happens, it is reported via MapUpdateProgressListener.

    If the user cancels the update process during the update phase, it is ignored. The update phase begins after all content has been downloaded, then the HERE SDK installs and replaces the existing regions. Cancellation is only possible during the download phase, and a successful cancellation is indicated via onComplete(...).

    Note that a MapLoaderError.notReady occurs when the MapDownloader is used in parallel. In general, background updates are not supported explicitly, as the OS can abort background processes. In addition, the OfflineSearchEngine and the OfflineRoutingEngine cannot be used while a map update is in progress and it will be indicated by a MapLoaderError.

    See more

    Declaration

    Swift

    public class MapUpdater
    extension MapUpdater: NativeBase
    extension MapUpdater: Hashable
  • A method which is called on the main thread when MapUpdater.fromEngineAsync(...) has been completed. Construction requires the online configuration to be fetched, which in case of sync API, would block the calling thread. When configuration is cached, it is enough to read it from the disk, this operation still takes relatively big time.

    Declaration

    Swift

    public typealias MapUpdaterConstructionHandler = (MapUpdater) -> Void

    Parameters

    p0

    Represents a constructed MapUpdater object.

  • A class to control the map update process.

    See more

    Declaration

    Swift

    public class MapUpdateTask
    extension MapUpdateTask: NativeBase
    extension MapUpdateTask: Hashable
  • Represents version of the map.

    See more

    Declaration

    Swift

    public class MapVersionHandle
    extension MapVersionHandle: NativeBase
    extension MapVersionHandle: Hashable
  • A method which is called on the main thread when MapDownloader.repairPersistentMap(...) has been completed. The first argument indicates an error in case of a failure. The second argument contains the results. Both arguments cannot be nil at the same time - or not nil at the same time.

    Declaration

    Swift

    public typealias RepairCompletionHandler = (PersistentMapRepairError?) -> Void

    Parameters

    p0

    Represents an error in case of a failure. It is nil for an operation that succeeds.

  • The structure below exactly match the corresponding gRPC PemKeyCertPair structure. A key/certificate pair in PEM format.

    See more

    Declaration

    Swift

    public struct PemKeyCertPair
  • Specifies possible errors that may result after a map repair operation has been completed.

    See more

    Declaration

    Swift

    public enum PersistentMapRepairError : UInt32, CaseIterable, Codable
  • Specifies possible statuses of the already downloaded map regions as a whole. Note: This can be valid only for a single region in case of a PersistentMapStatus.corrupted state.

    See more

    Declaration

    Swift

    public enum PersistentMapStatus : UInt32, CaseIterable, Codable
  • Defines an area, especially part of a country or the world that can be downloaded.

    See more

    Declaration

    Swift

    public struct Region : Hashable
  • Specify a unique identifier for Region.

    See more

    Declaration

    Swift

    public struct RegionId : Hashable
  • The structure below exactly match the corresponding gRPC SslCredentialsOptions structure. Options used to build SslCredentials.

    See more

    Declaration

    Swift

    public struct SslClientCredentialsOptions
  • The structure below exactly match the corresponding gRPC SslServerCredentialsOptions structure. Options for configuring a gRPC server with SSL/TLS credentials.

    See more

    Declaration

    Swift

    public struct SslServerCredentialsOptions
  • Defines statistics related to the success or failure of patched bundles. It can be used to monitor and analyze the reliability of binary patch updates.

    See more

    Declaration

    Swift

    public struct UpdateStatistics