Core Reference
- Last UpdatedJun 10, 2025
- 15 minute read
-
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 Angle
extension Angle: NativeBase
extension 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 Authentication
extension Authentication: NativeBase
extension 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?, AuthenticationData?) -> Void
Parameters
p0
Represents the operation status. It is ‘null’ for an operation that succeeds.
p1
Represents 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 AuthenticationMode
extension AuthenticationMode: NativeBase
extension AuthenticationMode: Hashable
-
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 theSDKNativeEngine
should 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
DesiredCatalog
For further information about catalogs and related concepts seeCatalogIdentifier
.Note: This API is only applicable for enhanced editions such as the Navigate Edition.
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
-
This is a class for capturing user’s intent for the desired catalog version to use in
DesiredCatalog
class.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 CatalogVersionHint
extension CatalogVersionHint: NativeBase
extension 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 = (String) -> Void
Parameters
p0
Represents 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.southWestCorner
is 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 morenil
in an appriopriate field. For example, if one wants bearing not to be updated set it tonil
.Declaration
Swift
public struct GeoOrientationUpdate : Hashable
-
Represents a GeoPolygon area 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.
See moreDeclaration
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 GeoPolyline as a series of geographic coordinates.
See moreDeclaration
Swift
public struct GeoPolyline : Hashable
-
Instantiation error.
Declaration
Swift
public typealias InstantiationError = InstantiationErrorCode
-
Instantiation error.
See moreDeclaration
Swift
public enum InstantiationErrorCode : UInt32, CaseIterable, Codable
extension 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.
LayerConfiguration
changes made viaSDKOptions
requiresdk.maploader.MapUpdater
to align previously downloaded content. To ensure that the changes inSDKOptions
affect the map data, it is recommended to trigger a feature update or a map update. Without callingmapUpdater.performFeatureUpdate(...)
ormapUpdater.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 callingperformFeatureUpdate(...)
will preserve the current map version, even when no map data update is available in the catalog. CallingupdateCatalog(...)
will update the version, only when a map update is available in the catalog.Notes
- The
LayerConfiguration
is only applicable for HERE SDK editions that contain the offline maps feature such as the Navigate Edition. It has no effect on other editions. - Only “OFFLINE_SEARCH”, “OFFLINE_ROUTING”, “TRUCK”, “NAVIGATION”, “RENDERING”, “DETAIL_RENDERING” are enabled, by default. All other layers are disabled, by default. Note that the “RENDERING” layer 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
LayerConfiguration
cannot 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
LayerConfiguration
for the map cache and offline maps. TheLayerConfiguration
will be always applied to both. - If a
LayerConfiguration
is 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
LayerConfiguration
controls which content will be subject of- map download and explicit prefetching for features in
enabledFeatures()
, - implicit prefetching, such as when displaying a map view for features in
implicitlyPrefetchedFeatures()
.
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
-
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 LogControl
extension LogControl: NativeBase
extension 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 Metadata
extension Metadata: NativeBase
extension 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 moreSDKNativeEngine
during 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.isOfflineMode
and/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
-
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 = (PolylineSimplificationError?, [GeoCoordinates]?) -> Void
Parameters
p0
The optional error, which occurred during simplification.
p1
The 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:
TrafficEngine
methods which accept aGeoCorridor
;RoutePrefetcher.prefetchGeoCorridor
.
Declaration
Swift
public class PolylineSimplifier
extension PolylineSimplifier: NativeBase
extension 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 SDKBuildInformation
extension SDKBuildInformation: NativeBase
extension SDKBuildInformation: 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 moreLogControl
and should be used instead of platform-specific logging functions.Declaration
Swift
public class SDKLogger
extension SDKLogger: NativeBase
extension 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
SDKNativeEngine
withSDKNativeEngine.makeSharedInstance()
. - Create individual instances of the
SDKNativeEngine
viaSDKNativeEngine()
. Note that this does not automatically set a shared instance.
Declaration
Swift
public class SDKNativeEngine
extension SDKNativeEngine: NativeBase
extension 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 moreSDKVersion
represents 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.SDKBuildInformation
can 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) -> Void
Parameters
p0
The 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 moreTaskCompletionHandler
for more details.Declaration
Swift
public enum TaskOutcome : UInt32, CaseIterable, Codable
-
Initializes threading support on native side.
See moreDeclaration
Swift
public class Threading
extension Threading: NativeBase
extension 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 moreTimeRule
see here.Declaration
Swift
public class TimeRule
extension TimeRule: NativeBase
extension 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