Core
-
Represents a point in a rectangle as a ratio of this rectangle’s width and height.
See moreDeclaration
Swift
public struct Anchor2D : Hashable -
An Anchor2D keyframe. A keyframe consists of a value and an animation duration.
See moreDeclaration
Swift
public struct Anchor2DKeyframe : Hashable -
Represents an angle independent of the unit of measurement.
See moreDeclaration
Swift
public class Angleextension Angle: NativeBaseextension Angle: Hashable -
Represents angle ranges as a circular sector by using an absolute start angle and a relative range angle called extent. They both define a sector on a circle. All angles are in degrees and are clockwise-oriented. By default, the AngleRange represents the entire circle, the value is in the range of [0, 360]. Values will be corrected during construction using normalization for the start angle and clamping for the extent angle, ensuring a valid range for all possible inputs.
See moreDeclaration
Swift
public struct AngleRange : Hashable -
Use the authentication class to authenticate and retrieve a secure token that can be used with other HERE services.
See moreDeclaration
Swift
public class Authenticationextension Authentication: NativeBaseextension Authentication: Hashable -
Protocol passed to
Authentication.authenticate(SDKNativeEngine). This protocol is called on the main thread asynchronously when an authenticate call has completed.Declaration
Swift
public typealias AuthenticationCompletionHandler = (_ authenticationError: AuthenticationError?, _ authenticationData: AuthenticationData?) -> VoidParameters
authenticationErrorRepresents the operation status. It is ‘null’ for an operation that succeeds.
authenticationDataRepresents the authentication data.
-
Authentication exception
Declaration
Swift
public typealias AuthenticationException = AuthenticationError -
This is a bearer authentication mode which adds or does not add a header (“Authorization”, “Bearer $Token”) to each online request of the module the object is added to. The token (if used) can be provided or is retrieved via key/secret from a dedicated backend.
See moreDeclaration
Swift
public class AuthenticationModeextension AuthenticationMode: NativeBaseextension AuthenticationMode: Hashable -
Represents image link to the company’s logo. 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 moreDeclaration
Swift
public struct BrandLogo : Hashable -
A method which is called on the main thread when
SDKCache.clearCache(...)has been completed.Declaration
Swift
public typealias CacheCallbackCompletionHandler = (_ maploaderError: MapLoaderError?) -> VoidParameters
maploaderErrorRepresents an error in case of a failure. It is
nilfor an operation that succeeds. Please note, in case of failure, onlyMapLoaderError.internalErrorerror returned for now. -
Indicates the official directional identifier assigned to this road. The direction indicates the same information as on the signpost shield text: For example, if it is “101 West”, the direction contains WEST.
See moreDeclaration
Swift
public enum CardinalDirection : UInt32, CaseIterable, Codable -
Using this class you can configure in the
SDKOptions, how theSDKNativeEngineshould access, use and store the data for the desired catalog.Using this class, you can access default catalogs on the HERE platform and also custom catalogs such as for self-hosted or BYOD (bring your own data) use cases.
For information on how the user can identify a catalog on the HERE platform, see
DesiredCatalogFor further information about catalogs and related concepts seeCatalogIdentifier.Note: This API is only applicable for the Navigate license.
See moreDeclaration
Swift
public struct CatalogConfiguration : Hashable -
This class is used to identify any catalog in the HERE platform.
A catalog is a storage-representation to store map data on the HERE platform. The data inside a catalog is divided into layers, where each layer consists of datasets with similar functional attributes in the physical world. For example, there can be a layer for road-topology, a layer for road-attributes (such as speed limits) and a layer for places and business addresses. All these layers, in different geographic regions, can be grouped together into a catalog to create a representation of the world we live in, called HERE map. It can be also used to render a
See moreMapView. Each geographic region is cut into geospatial tiles for efficient search, map display, routing, map matching, and driver warnings. Each tile partitions the map data (in one or more layers, depending on the product) in the geolocation of that specific tile. The data inside a catalog is logically managed and access controlled as a single set. If you have any data that you want to bring to the HERE platform, you need a catalog to contain it. For additional information about catalogs, and related concepts of data representation on the HERE platform, refer to the Data API and Introduction to Mapping ConceptsDeclaration
Swift
public struct CatalogIdentifier : Hashable -
Represents default HERE catalog types.
See moreDeclaration
Swift
public enum CatalogType : UInt32, CaseIterable, Codable -
A class to control the catalog update process.
See moreDeclaration
Swift
public class CatalogUpdateTaskextension CatalogUpdateTask: NativeBaseextension CatalogUpdateTask: Hashable -
This is a class for capturing user’s intent for the desired catalog version to use in
DesiredCatalogclass.You can request a specific or latest version of a catalog by calling the static functions
See moreCatalogVersionHint.specific(...)andCatalogVersionHint.latest(...)respectively. The HERE platform will make the best effort to provide an appropriate version for the catalog based on this version hint. Please take note that for the APICatalogVersionHint.specific(...)to function properly, it is essential that the mutable and persistent storage should be cleaned.Declaration
Swift
public class CatalogVersionHintextension CatalogVersionHint: NativeBaseextension CatalogVersionHint: Hashable -
Custom collection implementation.
See moreDeclaration
Swift
public class CollectionOf<T> : Collection -
This enum represents country codes in accordance with the ISO 3166-1 standard using alpha-3 codes.
See moreDeclaration
Swift
public enum CountryCode : UInt32, CaseIterable, Codable -
This enum represents the type of electric current
See moreDeclaration
Swift
public enum CurrentType : UInt32, CaseIterable, Codable -
Protocol for storing arbitrary metadata types. By implementing this protocol, multiple object types can be stored as desired, simply by adding fields to the implementation that refer to those objects and then assigning an instance of the CustomMetadataValue derived class to a map item.
See moreDeclaration
Swift
public protocol CustomMetadataValue : AnyObject -
This class provides an interface to the user, to identify a catalog on the HERE platform, whose data he wants to access. The user can specify the HERE Resource Name (HRN) for the catalog along with a hint for the desired version. If the desired version is not available, the HERE platform will determine the best version to use for a specific catalog or result in error logs. For information on how to specify the catalog version, see
See moreCatalogVersionHint. For information about catalogs and related concepts seeCatalogIdentifier.Declaration
Swift
public struct DesiredCatalog : Hashable -
This method will be called on the main thread when
SDKNativeEngine.getDeviceId(...)has been completed.Declaration
Swift
public typealias DeviceIdHandle = (_ deviceId: String) -> VoidParameters
deviceIdRepresents a deviceId, a unique identifier assigned to the device for this application.
-
Lists the available HERE SDK endpoints that can be customized with a custom backend base URL.
See moreDeclaration
Swift
public enum EngineBaseURL : UInt32, CaseIterable, Codable -
Specifies several options specific to different engines. 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 moreDeclaration
Swift
public struct EngineOptions : Hashable -
Identifier of the entity as provided by the external source
See moreDeclaration
Swift
public struct ExternalID : Hashable -
Represents a bounding rectangle aligned with latitude and longitude. Geographic area represented by this would be visualised as a rectangle when using a normal cylindrical projection (such as Mercator). The box has a maximum span of 360 degrees in longitude and 180 degrees in latitude direction. The box with equal values in longitude for the corners is considered as a span of 360 degrees. The box is considered empty if the latitude of the
See moreGeoBox.southWestCorneris larger than the the latitude of theGeoBox.northEastCorner.Declaration
Swift
public struct GeoBox : Hashable -
Represents a circle area in 2D space.
See moreDeclaration
Swift
public struct GeoCircle : Hashable -
Represents geographical coordinates in 3D space.
See moreDeclaration
Swift
public struct GeoCoordinates : Hashable -
Represents geographical coordinates in 3D space. Unlike
See moreGeoCoordinates, its members can be undefined, allowing for APIs that update only the specified parts of geo coordinates.Declaration
Swift
public struct GeoCoordinatesUpdate : Hashable -
A geographical area that wraps around a geographical polyline with a given distance. The corridor has round edges at the endpoints of the polyline. The distance from any point of the polyline to the closest border of the corridor is always the same.
See moreDeclaration
Swift
public struct GeoCorridor : Hashable -
Geodetic orientation with bearing, tilt and roll.
See moreDeclaration
Swift
public struct GeoOrientation : Hashable -
Describes geodetic orientation update with bearing and tilt. Updating an orientation value can be skipped by setting
See morenilin an appriopriate field. For example, if one wants bearing not to be updated set it tonil.Declaration
Swift
public struct GeoOrientationUpdate : Hashable -
Represents a
See moreGeoPolygonarea as a series of geographic coordinates, and optionally, a list of inner boundaries (also known as holes). An instance of this class, initialized with appropriate vertices.Declaration
Swift
public struct GeoPolygon : Hashable -
A list of geographic coordinates representing the vertices of a polyline. An instance of this class, initialized with appropriate vertices. Represents a
See moreGeoPolylineas a series of geographic coordinates.Declaration
Swift
public struct GeoPolyline : Hashable -
Defines if a function on a
See moreGeoPolylinecomputes the operation starting from the beginning or from the end ofGeoPolyline.vertices.Declaration
Swift
public enum GeoPolylineDirection : UInt32, CaseIterable, Codable -
Instantiation error.
Declaration
Swift
public typealias InstantiationError = InstantiationErrorCode -
Instantiation error.
See moreDeclaration
Swift
public enum InstantiationErrorCode : UInt32, CaseIterable, Codableextension InstantiationErrorCode : Error -
An integer range [min, max] with inclusive minimum and maximum value.
See moreDeclaration
Swift
public struct IntegerRange : Hashable -
Junctions traversability of some traffic incident or flow section.
See moreDeclaration
Swift
public enum JunctionsTraversability : UInt32, CaseIterable, Codable -
This enum represents language codes. The basic naming pattern consists of a 2-letter ISO 639-1 language code followed by a 2-letter ISO 3166-1 country code. Some language codes consist only of a language code, i.e. without a country code. When there is no ISO 639-1 language code, the related ISO 639-2 or ISO 639-3 language code is used. In case the script is specified, its ISO 15924 code is used.
See moreDeclaration
Swift
public enum LanguageCode : UInt32, CaseIterable, Codable -
A class to configure which layers should be enabled or disabled in the OCM map data. Disabling a layer allows to reduce the amount of data that will be downloaded or prefetched from the internet, for example, when panning the map view online or when downloading maps for offline use.
LayerConfigurationchanges made viaSDKOptionsrequiresdk.maploader.MapUpdaterto align previously downloaded content. To ensure that the changes inSDKOptionsaffect the map data, it is recommended to trigger a map update. Without callingmapUpdater.updateCatalog(...), the adjustments will apply only to future map downloads and will not impact the currently installed map data, either in the cache or in the persisted storage. Note that callingupdateCatalog(...)will update the version, only when a map update is available in the catalog.Notes
- The
LayerConfigurationis only available for the Navigate licenses that contains the offline maps feature. It has no effect on other license.
Note that the
RENDERINGlayer is a base layer that cannot be disabled: Therefore, it is not necessary to explicitly add the layer to a feature configuration - it will be always enabled.- The
LayerConfigurationcannot be set separately for a region, it will be applied globally for all regions that will be downloaded in the future. - It is not possible to specify a separate
LayerConfigurationfor the map cache and offline maps. TheLayerConfigurationwill be always applied to both. - If a
LayerConfigurationis applied, then only the listed features will be enabled, all others will be disabled. For example, if you want to disable only one feature, then all other features need to be present, or they will be also disabled.
The
LayerConfigurationcontrols which content will be subject of- map download for features in
enabledFeatures(), - explicit prefetching using
sdk.prefetcher.RoutePrefetcher,sdk.prefetcher.PolygonPrefetcherand implicit prefetching, such as when displaying a map view, for features inimplicitlyPrefetchedFeatures().
Declaration
Swift
public struct LayerConfiguration : Hashable - The
-
Used to represent road number localized to specific language with optional direction and route type information.
See moreDeclaration
Swift
public struct LocalizedRoadNumber : Hashable -
The list of multiple names or titles for the same entity, possibly in different languages.
See moreDeclaration
Swift
public struct LocalizedRoadNumbers : Hashable -
Used to represent text localized to specific language.
See moreDeclaration
Swift
public struct LocalizedText : Hashable -
The list of multiple names or titles for the same entity, possibly in different languages.
See moreDeclaration
Swift
public struct LocalizedTexts : Hashable -
Describes a location in the world at a given time.
See moreDeclaration
Swift
public struct Location : Hashable -
This protocol should be implemented in order to receive notifications about location updates.
See moreDeclaration
Swift
public protocol LocationDelegate : AnyObject -
Indicates where the location was computed.
Tells whether the location was calculated on the same device running HERE SDK or received from an external source.
Example external sources: GNSS modules connected via serial (e.g., u-blox), or vehicle positioning systems.
Example internal sources: positions computed on the same phone or embedded device using integrated GNSS or sensor fusion components.
See moreDeclaration
Swift
public enum LocationSource : UInt32, CaseIterable, Codable -
Technology or provider of the location.
See moreDeclaration
Swift
public enum LocationTechnology : UInt32, CaseIterable, Codable -
This struct presents all the time data tied to a location, like an arrival or departure time. The time data is originally specified in RFC 3339, section 5.6 format. For example, “2022-03-23T16:07:31+01:00” in Cracow, Poland, i.e. a Central European Time (CET) location. Note that this struct doesn’t give any data on the tied location. The location should be derived from the context.
See moreDeclaration
Swift
public struct LocationTime : Hashable -
An interface to implement a listener to receive log messages.
See moreDeclaration
Swift
public protocol LogAppender : AnyObject -
This class provides functionality to enable/disable console logs as well as setting a custom log appender to receive log messages from the SDK.
See moreDeclaration
Swift
public class LogControlextension LogControl: NativeBaseextension LogControl: Hashable -
Severity levels for log messages.
See moreDeclaration
Swift
public enum LogLevel : UInt32, CaseIterable, Codable -
Holds metadata on behalf of a map item. An instance of this class can contain metadata items of varying types, such as String, Integer, Double, GeoCoordinates etc. and can also hold arbitrary metadata types by the use of the CustomMetadataValue protocol.
See moreDeclaration
Swift
public class Metadataextension Metadata: NativeBaseextension Metadata: Hashable -
Different types of objects that can be stored in a Metadata class instance.
See moreDeclaration
Swift
public enum MetadataType : UInt32, CaseIterable, Codable -
Structure to represent name-id pairs.
See moreDeclaration
Swift
public struct NameID : Hashable -
Network endpoint.
See moreDeclaration
Swift
public struct NetworkEndpoint : Hashable -
Network configuration to be used by
See moreSDKNativeEngineduring the initialization.Declaration
Swift
public struct NetworkSettings : Hashable -
Contains values of configurable parameters that are used in SDK. This is a BETA feature and thus there can be bugs and unexpected behavior.
See moreDeclaration
Swift
public struct ParameterConfiguration : Hashable -
Represents features that are allowed to consume online data when the HERE SDK’s offline mode is activated via
SDKNativeEngine.isOfflineModeand/orSDKOptions.offlineMode.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 moreDeclaration
Swift
public enum PassThroughFeature : UInt32, CaseIterable, Codable -
Represents the type of electrical power. 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 moreDeclaration
Swift
public enum PowerType : UInt32, CaseIterable, Codable -
Contains values of pedestrian profile. This is a BETA feature and thus there can be bugs and unexpected behavior.
See moreDeclaration
Swift
public struct PedestrianProfile : Hashable -
Carries the result of picking a Carto POI (point of interest) object.
See moreDeclaration
Swift
public struct PickedPlace : Hashable -
Protocol for task activities on the main thread.
See moreDeclaration
Swift
public protocol PlatformThreading : AnyObject -
Represents a point in 2D space. When this point is used to indicate coordinates on a view, then (0,0) will mark the top-left corner of the view.
See moreDeclaration
Swift
public struct Point2D : Hashable -
Represents a point in 3D space.
See moreDeclaration
Swift
public struct Point3D : Hashable -
The method will be called on the main thread when
PolylineSimplifier.simplify(...)is finished.Declaration
Swift
public typealias PolylineSimplificationCompletionHandler = (_ queryError: PolylineSimplificationError?, _ result: [GeoCoordinates]?) -> VoidParameters
queryErrorThe optional error, which occurred during simplification.
resultThe simplified polyline with number of points less or equal to the input polyline of
PolylineSimplifier.simplify(...). -
Error code which specifies, what went wrong during
See morePolylineSimplifier.simplify(...)operation.Declaration
Swift
public enum PolylineSimplificationError : UInt32, CaseIterable, Codable -
PolylineSimplifier helps to reduce the number of points in the polyline by removing redundant elements using Douglas–Peucker algorithm, so that result stays within
PolylineSimplifier.Options.Typical use case is to perform input preparation step before invoking computationally heavy API. Such API have an upper limit on the input collection size and is subject to reduced performance when collection is huge. Examples of such API are:
TrafficEnginemethods which accept aGeoCorridor;RoutePrefetcher.prefetchGeoCorridor.
Declaration
Swift
public class PolylineSimplifierextension PolylineSimplifier: NativeBaseextension PolylineSimplifier: Hashable -
Proxy configuration for the HERE SDK network that is applied per request. 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 moreDeclaration
Swift
public struct ProxySettings : Hashable -
Represents a 2D rectangle defined by the origin and size.
See moreDeclaration
Swift
public struct Rectangle2D : Hashable -
Indicates the level of significance of a route in a range from 1 to 6. A value of 1 stands for the most major route and 6 the most minor. The route type indicates that the road’s name is actually a route number and in many countries is displayed in a shield symbol (e.g., Interstate and State routes in the U.S.). See https://developer.here.com/documentation/here-map-content-schema/dev_guide/topics_schema/streetname.routetype.html
See moreDeclaration
Swift
public enum RouteType : UInt32, CaseIterable, Codable -
Protocol that should be implemented by any class whose instances are intended to be executed by a thread.
See moreDeclaration
Swift
public protocol Runnable : AnyObject -
The SDKBuildInformation class is designed to provide information about the SDK build.
See moreDeclaration
Swift
public class SDKBuildInformationextension SDKBuildInformation: NativeBaseextension SDKBuildInformation: Hashable -
A class to manage SDK Cache. Path for SDKCache is specified via
See moreSDKOptions.cachePath. SDKCache manages temporary downloaded map data during map interaction and follows LRU (least recently used) strategy to delete map data when cache size exceeds the specifiedSDKOptions.cacheSizeInBytes.Declaration
Swift
public class SDKCacheextension SDKCache: NativeBaseextension SDKCache: Hashable -
This class is used to initialize internals of the SDK. Usually shouldn’t be used directly.
See moreDeclaration
Swift
public class SDKInternalInitializer : NSObject -
Logging interface for Android/iOS platforms. These logs are under management of
See moreLogControland should be used instead of platform-specific logging functions.Declaration
Swift
public class SDKLoggerextension SDKLogger: NativeBaseextension SDKLogger: Hashable -
Holds internal services and configurations needed by various HERE SDK modules.
You can initialize the HERE SDK in two ways:
- Create a shared instance of the
SDKNativeEnginewithSDKNativeEngine.makeSharedInstance(). - Create individual instances of the
SDKNativeEngineviaSDKNativeEngine(). Note that this does not automatically set a shared instance.
Declaration
Swift
public class SDKNativeEngineextension SDKNativeEngine: NativeBaseextension SDKNativeEngine: Hashable - Create a shared instance of the
-
Undocumented
Declaration
Swift
public class SDKNativeEngineHolder : NSObject -
SDKOptions provide an alternative way to set or update the HERE SDK credentials and other parameters at runtime to initialize the
See moreSDKNativeEngine.Declaration
Swift
public struct SDKOptions : Hashable -
The
See moreSDKVersionrepresents version information for an SDK product. It encapsulates various attributes related to the version, including product variant, version details and backend configuration. Please note,sdk.core.engine.SDKBuildInformationcan be used to getSDKVersion.Declaration
Swift
public struct SDKVersion : Hashable -
Represents the size of a 2D structure.
See moreDeclaration
Swift
public struct Size2D : Hashable -
Declaration
Swift
extension String : Error -
The method will be called on the main thread when a task call has been completed.
Declaration
Swift
public typealias TaskCompletionHandler = (_ taskOutcome: TaskOutcome) -> VoidParameters
taskOutcomeThe task outcome
-
Handle used for the manipulation of the task.
See moreDeclaration
Swift
public protocol TaskHandle : AnyObject -
This enum represents that a task has been completed. Refer to
See moreTaskCompletionHandlerfor more details.Declaration
Swift
public enum TaskOutcome : UInt32, CaseIterable, Codable -
Initializes threading support on native side.
See moreDeclaration
Swift
public class Threadingextension Threading: NativeBaseextension Threading: Hashable -
Used to indicate a time period of one or more intervals in GDF specification. For example: -*(M3f21h2){M9}(M11f12h2){-M9}+(h15){h2}(h20){h2}, which represents: March 2nd Sunday 02h:00m for 9 months ONLY DURING November 1st Sunday 02h:00m from 9 months ago BUT NOT from 15:00 to 17:00 OR 20:00 to 22:00
The operator * represents reccuring occurrence,
+represents a logical OR operation and-represents exclusion meaning, BUT NOT operations.This example string represents a time period that meets the following criteria:
M3f21h2: M3 denotes third month of the year, i.e. March, f2 stands for the second Sunday of the month (as “f” might indicate “first”, “second”, “third”, etc.), 1 stands for the day of the week (1…7, Day of week, Sunday = day 1), and h2 represents the hour of the day (02:00) in 24 hour format.{M9}: This denotes “for 9 months”, with “M9” standing for nine months. The brackets {} indicate a duration.M11f12h2: M11 denotes 11th month of the year, i.e. November, f1 stands for the first Monday of the month, 2 stands for the day of the week (1…7, Day of week, Monday = day 2), and h2 represents the hour of the day (02:00) in 24 hour format.- {-M9}: This denotes “9 months ago from the current stated time”, with “-M9” standing for nine months in the past.
(h15){h2}(h20){h2}: 15:00 to 17:00 OR 20:00 to 22:00 The brackets {} denotes duration, and the negative sign - represents a past duration.
Note: The time period is a logical AND (&&) combination of two components or points in time and it only applies if a point in time is in both components.
For more advanced examples of
See moreTimeRulesee here.Declaration
Swift
public class TimeRuleextension TimeRule: NativeBaseextension TimeRule: Hashable -
Contains values of transport profile. This is a BETA feature and thus there can be bugs and unexpected behavior.
See moreDeclaration
Swift
public struct TransportProfile : Hashable -
Declaration
Swift
extension UIColor -
Represents the available unit systems(imperial/metric).
See moreDeclaration
Swift
public enum UnitSystem : UInt32, CaseIterable, Codable -
A class that gathers statistics of the HERE SDK network usage for uploaded and downloaded data.
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 moreDeclaration
Swift
public struct UsageStats
Core Reference