Navigation
-
Use this class to show an overview of geo points. By default, the orientation of the camera will be perpendicular to the Earth’s surface (ie. looking towards the center of the Earth), while bearing will be towards north.
Note: This is a beta feature; there maybe bugs and unexpected behavior. Related API’s are subject to change without a deprecation process.
See moreDeclaration
Swift
public class AreaCameraBehavior : CameraBehaviorextension AreaCameraBehavior: NativeBaseextension AreaCameraBehavior: Hashable -
Indicates arrival point type to announce in maneuver notification.
See moreDeclaration
Swift
public enum ArrivalNotificationOption : UInt32, CaseIterable, Codable -
The aspect ratio of the image.
See moreDeclaration
Swift
public enum AspectRatio : UInt32, CaseIterable, Codable -
Type of a border crossing given in a
See moreBorderCrossingWarning.Declaration
Swift
public enum BorderCrossingType : UInt32, CaseIterable, Codable -
A border crossing. The main fields describing the border crossing are
See moreBorderCrossingWarning.typespecifying whether the border crossing is given for a country border or for a state border andBorderCrossingWarning.countryCodewhich should be present at all times, regardless if the warning is a country border or a state border. A border crossing must contain a knownBorderCrossingWarning.typeand aBorderCrossingWarning.countryCode. TheBorderCrossingWarning.stateCodeis optional. UseBorderCrossingWarningListenerto get notifications about upcoming country or state border crossings.Declaration
Swift
public struct BorderCrossingWarning : Hashable -
This protocol should be implemented in order to receive border crossing warnings for country and state borders. Note: The border crossing warner is a point warner, which means that for a border crossing there will always be 2 warnings emitted, with the [BorderCrossingWarning.distance_type] set to
See moreDistanceType.aheadandDistanceType.passedwhich is given when the location of the border crossing is reached. ABorderCrossingWarningwill not be given until the previous warning of that type has been passed. For example, a route withBorderCrossingWarning120 meters andBorderCrossingWarning160 meters ahead, the first [BorderCrossingWarning.distance_to_border_crossing_in_meters] is 120 meters and the next [BorderCrossingWarning.distance_to_border_crossing_in_meters] is then 40 meters, since that is the distance between the first and second warnings.Declaration
Swift
public protocol BorderCrossingWarningDelegate : AnyObject -
Border crossing warning options.
See moreDeclaration
Swift
public struct BorderCrossingWarningOptions : Hashable -
Protocol used to change implement different camera behaviors.
See moreDeclaration
Swift
public protocol CameraBehavior : AnyObject -
A struct that provides current situation lane assistance view information for the street at the current position of a single lane.
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 CurrentSituationLaneView : Hashable -
A struct that provides current situation lane assistance view information for the street at the current location.
See moreDeclaration
Swift
public struct CurrentSituationLaneAssistanceView : Hashable -
This protocol should be implemented in order to receive notifications on
CurrentSituationLaneAssistanceView.The current situation lane assistance view notifications describe the lane information at the current location.
A new notification is evaluated with each location update. A notification is only sent when there is a change in lane data, such as a new upcoming lane.
This event is supported both with a route during turn-by-turn navigation and without a route in tracking mode. During turn-by-turn navigation, the event additionally indicates which lanes help the driver stay on the route to reach the destination. However, the event does not indicate which exact lane the user is currently driving in. The listener works for offline mode as well.
Note:
- Lane information is not available for all roads. It’s mostly available for roads with painted turn directions.
- 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 protocol CurrentSituationLaneAssistanceViewDelegate : AnyObject -
This class contains all the information regarding the next angular panning element, including a new estimated audio cue duration, and a new set of initial and sweep angular angle, allowing the customization of the spatial audio trajectories for any type of notification, such as speed or merge warners, maneuvers or even roundabouts notifications. The orientation in space for
CustomPanningData.initialAzimuthInDegreesandCustomPanningData.sweepAzimuthInDegreescan be represented by the following angular values:Front Right Rear Left 0° +90° +- 180 -90° When any of the members of
See moreCustomPanningDataare initialized as null, the default value provided by HERE SDK will be used instead. The audio cue is spatialized considering the action of both maneuvers, for example, the audio cue ‘Now turn right and then turn left’ will be spatialized as following: ‘Now turn right’ will be heard as coming from the right. ‘and then turn left’ will be heard as coming from the left. Note: The estimation for playing both audio cues could be not fully accurate and therefore a mismatch between the audio source and the audio cue message could be perceived.Declaration
Swift
public struct CustomPanningData : Hashable -
Represents danger zones. A danger zone refers to areas where there is an increased risk of traffic incidents. These zones are designated to alert drivers to potential hazards and encourage safer driving behaviors. Legally, certain devices can alert you to being in a danger zone, typically indicating the presence of a speed camera. In line with applicable law and industry standard, these alerts are usually provided along a road within a range of 4 km on a motorway, 2 km outside built-up areas, and 300 m in built-up areas. The HERE SDK warns when approaching the danger zone, as well as when leaving such a zone. A danger zone may or may not have one or more speed cameras in it. The exact location of such speed cameras is not provided. Note that danger zones are only available in selected countries, such as France.
See moreDeclaration
Swift
public struct DangerZoneWarning : Hashable -
This protocol should be implemented in order to receive notifications about the Danger zones.
See moreDeclaration
Swift
public protocol DangerZoneWarningDelegate : AnyObject -
This protocol should be implemented in order to receive notifications from this class about the arrival at the destination.
See moreDeclaration
Swift
public protocol DestinationReachedDelegate : AnyObject -
Defines a dimension restriction.
See moreDeclaration
Swift
public struct DimensionRestriction : Hashable -
Defines the type of a dimension restriction.
See moreDeclaration
Swift
public enum DimensionRestrictionType : UInt32, CaseIterable, Codable -
Indicates the option of direction information included in the notification.
See moreDeclaration
Swift
public enum DirectionInformationUsageOption : UInt32, CaseIterable, Codable -
Note: The distance types are being given for warnings at distances which can be configured via options specific for each warner. These distances are defined based on the
See moresdk.navigation.TimingProfilecalculated based on the speed limit present at the driver’s current location. Indicates the distance type for a warning.Declaration
Swift
public enum DistanceType : UInt32, CaseIterable, Codable -
Indicates the divider between the lanes.
See moreDeclaration
Swift
public enum DividerMarker : UInt32, CaseIterable, Codable -
Use this class to follow the current location of the user: The camera will look at the target location that was fed into the navigator instance, gradually zooming in as the user approaches each maneuver and zooming out after the user passes them. Since location updates happen in discrete intervals, locations in-between will be interpolated to achieve a smooth camera movement. If no route is set, constant values of camera distance and tilt are used.
See moreDeclaration
Swift
public class DynamicCameraBehavior : CameraBehaviorextension DynamicCameraBehavior: NativeBaseextension DynamicCameraBehavior: Hashable -
This class queries the HERE routing backend to find routes with less traffic and therefore an earlier remaining estimated time of arrival.
DynamicRoutingEnginepolls the HERE routing backend periodically to find the best new route out of a given initial route. For initial route calculation it is recommended to use theRoutingEngineas it already requests traffic-optimized routes.When a better route is found, it is recommended to follow these steps to set the new route:
- Stop the
DynamicRoutingEngine. - Update the currently active
Navigatorinstance with the newly found route. - Restart the
DynamicRoutingEngine. This should be done outside of theonBetterRouteFound()callback.
For both
DynamicRoutingEngineandRoutingEngine, the resulting routes are optimized based on speed flow changes such as traffic jams, street closures or road accidents. To get the best result, it is recommended to not specify theRouteOptions.departureTimeas then the current time is used by default.The poll interval is defined by
See moreDynamicRoutingEngineOptions.pollIntervaland triggered byDynamicRoutingEngine.updateCurrentLocation(...).Declaration
Swift
public class DynamicRoutingEngineextension DynamicRoutingEngine: NativeBaseextension DynamicRoutingEngine: Hashable - Stop the
-
This protocol should be implemented in order to receive notifications about the new route via the
See moreDynamicRoutingEngine.Declaration
Swift
public protocol DynamicRoutingDelegate : AnyObject -
Options defining the behavior of the
See moreDynamicRoutingEngine. Both,minTimeDifferenceandminTimeDifferencePercentage, will be checked: When the poll interval is reached, the smaller difference will win and theDynamicRoutingDelegateis notified.Declaration
Swift
public struct DynamicRoutingEngineOptions : Hashable -
Represents Environmental zones.
See moreDeclaration
Swift
public struct EnvironmentalZoneWarning : Hashable -
This protocol should be implemented in order to receive notifications about the environmental zones.
See moreDeclaration
Swift
public protocol EnvironmentalZoneWarningDelegate : AnyObject -
Contains all the information regarding the next text announcement.
See moreDeclaration
Swift
public struct EventText : Hashable -
Text notifications options.
See moreDeclaration
Swift
public struct EventTextOptions : Hashable -
Use this class to follow the current location of the user: The camera will permanently look at the target location that was fed into the navigator instance. Since location updates happen in discrete intervals, locations in-between will be interpolated to achieve a smooth camera movement.
See moreDeclaration
Swift
public class FixedCameraBehavior : CameraBehaviorextension FixedCameraBehavior: NativeBaseextension FixedCameraBehavior: Hashable -
Type of a general warning that a road sign represents.
See moreDeclaration
Swift
public enum GeneralWarningRoadSignType : UInt32, CaseIterable, Codable -
Use the GPXDocument to load the GPX file. Only track data is used from the GPX file format (see trkType at https://www.topografix.com/GPX/1/1/#type_trkType). Any unknown elements in the file are ignored. Any known element with an invalid value returns an error. Elevation values are ignored.
See moreDeclaration
Swift
public class GPXDocumentextension GPXDocument: NativeBaseextension GPXDocument: Hashable -
Options used when reading the GPX file.
See moreDeclaration
Swift
public struct GPXOptions : Hashable -
Single track from the
See moreGPXDocument. Can be used as an input to theLocationSimulator. Can be created and modified viaGPXTrackWriter.Declaration
Swift
public class GPXTrackextension GPXTrack: NativeBaseextension GPXTrack: Hashable -
Writes GPX track points to
GPXTrack. The instance of the class should be added as a listener to theLocationEnginefor GPX track recording. Appends the new location to the back segment of the track whenever the listener is called. The following data (if provided) can be recorded and inserted into the resultingGPXTrack:latitude,longitude,altitude,time,bearingInDegrees,pitchInDegrees,speedInMetersPerSecond,horizontalAccuracyInMeters,verticalAccuracyInMeters,bearingAccuracyInDegrees,speedAccuracyInMetersPerSecondandlocationTechnology.Use case examples:
A user wants to create and save a new
GPXDocumentwith oneGPXTrack:- create
GPXTrackWriterand add it as a location listener toLocationEngine. - set user parameters to
GPXTrackWriter.track(e.g.GPXTrack.nameorGPXTrack.description). - when writing is completed, create a new
GPXDocumentwith a list of oneGPXTrackand save the document viaGPXDocument.save(...).
A user wants to modify and save
GPXTrackin the existingGPXDocument:- load
GPXDocumentfrom a file by the relevant constructor. - create
GPXTrackWriterwith the required track in the listGPXDocument.tracks, add the created instance as a location listener toLocationEngine. - when writing is completed, save the document via
GPXDocument.save(...).
The
See moreGPXDocumentincluding all tracks is saved in the GPX file format. Hence, once saved, it can be easily shared with other applications that understand the GPX file format.Declaration
Swift
public class GPXTrackWriter : LocationDelegateextension GPXTrackWriter: NativeBaseextension GPXTrackWriter: Hashable - create
-
This protocol should be implemented in order to receive interpolated locations. The interpolated locations are only provided between
See moreVisualNavigator.startRendering(...)andVisualNavigator.stopRendering(...)calls and the application is not running in the background.Declaration
Swift
public protocol InterpolatedLocationDelegate : AnyObject -
A struct that provides lane assistance information for the next complex junction in order to keep following the route. It is recommended to indicate
JunctionViewLaneAssistanceandManeuverViewLaneAssistanceseparately or to indicate onlyManeuverViewLaneAssistanceinformation -JunctionViewLaneAssistancewill recommend all lanes that allow to pass the upcoming complex junction, regardless if they will lead to the next maneuver or not. If the location of a maneuver lies on an upcoming complex junction, the recommended lanes will be the same as the ones fromManeuverViewLaneAssistance.A junction is recognized as complex only if:
- it is at least a bifurcation;
- it has at least two lanes whose directions do not follow the current route.
In opposition to
ManeuverViewLaneAssistance, notifications are also forwarded when there is no maneuver action occurring at the next complex junction. Therefore,JunctionViewLaneAssistancecan be disjointed from maneuvers. If lane assistance should be used to associate it with upcoming maneuvers, consider to useManeuverViewLaneAssistanceinstead. Note thatManeuverViewLaneAssistancenotifications are synchronized with maneuver events, whereasJunctionViewLaneAssistanceevents are not strictly synchronized with maneuver events.
Declaration
Swift
public struct JunctionViewLaneAssistance : Hashable -
This protocol should be implemented in order to receive notifications on
See moreJunctionViewLaneAssistance. SeeJunctionViewLaneAssistancedocumentation for further details.Declaration
Swift
public protocol JunctionViewLaneAssistanceDelegate : AnyObject -
A struct that provides information for a lane.
See moreDeclaration
Swift
public struct Lane : Hashable -
A struct which identifies the vehicle type(s) allowed to access a lane.
See moreDeclaration
Swift
public struct LaneAccess : Hashable -
This enum defines the lane direction.
See moreDeclaration
Swift
public enum LaneDirection : UInt32, CaseIterable, Codable -
Indicates the directions of a lane. Most lanes lead only to one direction, but there can be also lanes that split up into multiple directions. A road can consist of multiple lanes towards the same direction. Note: All members can be
See moretrueorfalseat the same time. Lanes such as bicycle lanes mostly never contain a direction category and thus, all members arefalse.Declaration
Swift
public struct LaneDirectionCategory : Hashable -
A struct that provides information for the lane markings.
Lane markings indicate the markings on the road.
Lane Divider Marker indicates the lane separator on the right side of the specified lane in the lane driving direction for Right-side driving countries. For left-sided driving countries the Lane Divider Marker is indicating the lane separator on the left side of the specified lane in the lane driving direction.
See moreDeclaration
Swift
public struct LaneMarkings : Hashable -
Indicates whether this lane leads to the next maneuvers or not. The next maneuver is the next upcoming maneuver which is not yet reached, but that was already announced as new maneuver in [sdk.navigation.RouteProgress.maneuver_progress].
See moreDeclaration
Swift
public enum LaneRecommendationState : UInt32, CaseIterable, Codable -
A struct that provides information on the available lane properties. The lane type values can be combined as follows:
- High Occupancy Vehicle, Reversible
- High Occupancy Vehicle and Express
- Reversible and Express
- High Occupancy Vehicle, Reversible and Express
- High Occupancy Vehicle and Acceleration
- Reversible, Acceleration Lane
- High Occupancy Vehicle, Reversible, Acceleration Lane
- Express and Acceleration
- High Occupancy Vehicle and Deceleration
- Reversible, Deceleration Lane
- High Occupancy Vehicle, Reversible, Deceleration Lane
- Express and Deceleration
Declaration
Swift
public struct LaneType : Hashable -
A struct that provides low speed zone. The main field describing the low speed zone is
See moreLowSpeedZoneWarning.speed_limit_in_meters_per_secondspecifying the speed limit of the low speed zone. UseLowSpeedZoneWarningListenerto get notifications about upcoming low speed zones.Declaration
Swift
public struct LowSpeedZoneWarning : Hashable -
This protocol should be implemented in order to receive low speed zone warnings. Note: This is currently available only for Japan. The low speed zone warner is a zone warner, which means that for a low speed zone there will always be 3 warnings emitted, with the
See moreLowSpeedZoneWarning.distance_typeset toDistanceType.AHEAD,DistanceType.REACHEDand lastlyDistanceType.PASSEDwhen the end of the low speed zone is passed.Declaration
Swift
public protocol LowSpeedZoneWarningDelegate : AnyObject -
This class provides the information regarding the next maneuver to be triggered
See moreDeclaration
Swift
public struct ManeuverNotificationDetails : Hashable -
A struct containing all options to be used when generating maneuver notifications.
See moreDeclaration
Swift
public struct ManeuverNotificationOptions : Hashable -
A struct defining timing and distance thresholds for maneuver notifications.
Setting custom values will impact the time when the notification for each supported
ManeuverNotificationTypeis sent - dependent on theTimingProfile.Note: By default, notification thresholds depend on
TimingProfile. When custom values are set, then these rules will still apply. The following rules apply for all transport modes:- For
TimingProfile.fastSpeedtiming profile, if the current speed limit is less than 62 m/h (100 km/h), then the notification thresholds forTimingProfile.regularSpeedtiming profile will be used instead. - For
TimingProfile.regularSpeedtiming profile, if the current speed limit is less than 37 m/h (60 km/h), then the notification thresholds forTimingProfile.slowSpeedtiming profile will be used instead. - For
TimingProfile.slowSpeedtiming profile the thresholds will be always used as specified.
The timings follow a strict order:
ManeuverNotificationType.range: The first notification, it may be very far away (use 0 for farthest or earliest possible notification).ManeuverNotificationType.reminder: The second notification.ManeuverNotificationType.distance: A second reminder notification to take action.ManeuverNotificationType.action: Final notification, specifying the required action to be taken.
Therefore, it is crucial that the set values do not violate the order: range > reminder > distance > action. For example, the following values are valid: range = 4000, reminder = 2500, distance = 1000, action = 400. If
ManeuverNotificationTimingOptions.rangeNotificationDistanceInMetersis smaller thanManeuverNotificationTimingOptions.reminderNotificationDistanceInMetersthe new options will be silently ignored and the previous values are kept.You always have the choice to specify the thresholds for time or distance. For each
ManeuverNotificationTypea notification is only sent once, so the value that is reached first, wins. However, it is recommended to always update both, time and distance values. A configuration value of 0 is only allowed forManeuverNotificationTimingOptions.rangeNotificationDistanceInMetersandManeuverNotificationTimingOptions.rangeNotificationTimeInSeconds. It means that the maneuver notifications of typeManeuverNotificationType.rangeshould be generated as soon as the maneuver location is known - no matter how far away it may be. It’s impossible for the other types to have 0 as value due to the descending ordering rule mentioned above.You can also specify the
ManeuverNotificationTimingOptions.doubleNotificationDistanceInMetersthreshold that determines the distance between two maneuvers that should be merged into a single maneuver notification, for example, when they are very close to each other. Maneuvers below this threshold will be merged like in this example: “After 300 meters turn right and then turn left.”.Tip: To set the timings to the HERE SDK, you can first call
getManeuverNotificationTimingOptions()to get the default values for the desired combination of transport mode and timing profile. Then configure the timings, then set it back by calling thesetManeuverNotificationTimingOptions().Note: In the comment of each attribute, the term
Othersrefers to non-pedestrian transport modes such asTransportMode.car,TransportMode.bicycle,TransportMode.truck.Attention: The default values for
TransportMode.pedestrianonTimingProfile.fastSpeedare theoretical, as such routes cannot be calculated with the HERE SDK as highways are forbidden for pedestrians.Usage example:
See more// Get current values or default values, if no values have been set before. ManeuverNotificationTimingOptions car_highway_timings = Navigator.getManeuverNotificationTimingOptions(TransportMode.car, TimingProfile.FAST_SPEED); // Set a new value for a specific option and keep the previous or default values for the others. car_highway_timings.distanceNotificationDistanceInMeters = 1500; // Apply the changes to Navigator (or VisualNavigator). Navigator.setManeuverNotificationTimingOptions(TransportMode.car, TimingProfile.FAST_SPEED, car_fast_speed_timings);Declaration
Swift
public struct ManeuverNotificationTimingOptions : Hashable - For
-
Indicates the type of the maneuver notification.
See moreDeclaration
Swift
public enum ManeuverNotificationType : UInt32, CaseIterable, Codable -
A struct that provides lane assistance information for the next maneuver(s). During turn-by-turn navigation lane assistance can help a driver to choose the recommended lanes in order to complete the upcoming maneuvers. The notifications are synchronized with the
See moreEventTextDelegate.EventTextDelegatehas 4 notification types for each maneuver: Range, Reminder, Distance and Action. Only the maneuver notification of type Distance will also notify a ManeuverViewLaneAssistance object (e.g. “After 400 meters, turn right onto Invalidenstraße”). The notification will not be sent when other types of maneuver notification are given. The notification will not be sent when no lane data is available. During tracking mode, no notifications are delivered. This ManeuverViewLaneAssistance information is valid until the next maneuver is reached.Declaration
Swift
public struct ManeuverViewLaneAssistance : Hashable -
This protocol should be implemented in order to receive notifications on
See moreManeuverViewLaneAssistance. SeeManeuverViewLaneAssistancedocumentation for further details.Declaration
Swift
public protocol ManeuverViewLaneAssistanceDelegate : AnyObject -
Describes a map-matched location in the world at a given time.
See moreDeclaration
Swift
public struct MapMatchedLocation : Hashable -
Represents information about the waypoints along the route.
Note that this can include additional waypoints added during route calculation that may not have been part of the original user-defined waypoint list. For example, additional waypoints are added automatically between sections that require a different transport mode like when taking a ferry.
See moreDeclaration
Swift
public struct Milestone : Hashable -
Indicates the type of the natural guidance element.
See moreDeclaration
Swift
public enum NaturalGuidanceType : UInt32, CaseIterable, Codable -
Contains all the relevant information on the current location.
See moreDeclaration
Swift
public struct NavigableLocation : Hashable -
This class provides the basic navigation functionality. It provides notifications about current map-matched location updates (see
NavigableLocation). And, if a route has been set, about the route progress (seeRouteProgress), route deviations (seeRouteDeviation) and maneuver notifications (seeEventTextDelegate).All transport modes are supported for turn-by-turn navigation, except for public transit. Public transit routes may lead to unsafe and unexpected results.
Navigation support for bus routes can be sometimes a bit limited and bus lane assistance and turn-by-turn bus instructions may not be as appropriate as expected.
The
TransportModeis determined from the providedRouteinstance, but the actualSectionTransportModecan vary along a route, for example, when a ferry must be taken. When no route is set, theNavigableLocationassumes a drive scenario.This class continuously reacts to new locations provided from a location source and acts as a
LocationDelegate. The accuracy of the positioning increases with the update frequency. At least one update per second should be provided. More information can be found atLocationAccuracy.NAVIGATION.Note: Even without provided locations, for example, while driving through a tunnel, this class can interpolate missing location events and still send
See moreNavigableLocation,RouteProgressand maneuver notifications.Declaration
Swift
public class Navigator : NavigatorProtocolextension Navigator: NativeBaseextension Navigator: Hashable -
This protocol provides the basic functionality needed to run a navigation session.
See moreDeclaration
Swift
public protocol NavigatorProtocol : LocationDelegate -
Indicates the formatting option of phoneme included in the notification.
See moreDeclaration
Swift
public enum NotificationFormatOption : UInt32, CaseIterable, Codable -
This protocol should be implemented in order to receive notifications from this class about the arrival at the off-road destination.
See moreDeclaration
Swift
public protocol OffRoadDestinationReachedDelegate : AnyObject -
Represents the information needed to help the users to reach their off-road destination.
See moreDeclaration
Swift
public struct OffRoadProgress : Hashable -
A realistic view. The fields describing the realistic view are
See moreRealisticViewRasterImage.realisticViewPngImageContentcontains a PNG image of the realistic view and is represented as binary data.RealisticViewRasterImage.realisticViewTypeindicates the type of the realistic view. A valid realistic view contains a non-emptyRealisticViewRasterImage.realisticViewPngImageContent. UseRealisticViewWarningListenerto get notifications with the realistic views of the upcoming realistic view.Declaration
Swift
public struct RealisticViewRasterImage : Hashable -
A realistic view of a junction. The fields describing the realistic view are
See moreRealisticViewVectorImage.junctionViewSvgImageContentcontains a SVG image of the junction view represented as a string.RealisticViewVectorImage.signpostSvgImageContentcontains an SVG image of the signpost corresponding to the junction, also represented as a string. A valid realistic view contains a non-emptyRealisticViewVectorImage.junctionViewSvgImageContentand a non-emptyRealisticViewVectorImage.signpostSvgImageContent. UseRealisticViewWarningListenerto get notifications with the realistic views of the upcoming junctions.Declaration
Swift
public struct RealisticViewVectorImage : Hashable -
A realistic view notification. This notification is given for complex junctions and it includes a visual representation of that junction, in order to help the user to better navigate it. When
RealisticViewWarning.distanceTypeisDistanceType.ahead, theRealisticViewWarning.realisticViewVectorImageobject will be provided with the junction view and the signpost representations. ForRealisticViewWarning.distanceTypewith valueDistanceType.passed, theRealisticViewWarning.realisticViewVectorImageobject will be null. UseRealisticViewWarningListenerto get notifications about the realistic views of the upcoming junctions.Realistic view notifications require an online connection in order to function properly, or that the junction or signpost map layer data is cached, installed or preloaded as part of a
See moreRegion. This can be enabled via feature configurations.Declaration
Swift
public struct RealisticViewWarning : Hashable -
This protocol should be implemented in order to receive realistic view warnings.
A
See moreRealisticViewWarningwill not be given until the previous warning of that type has been passed. For example, a route withRealisticViewWarning120 meters andRealisticViewWarning160 meters ahead, the firstRealisticViewWarning.distanceToRealisticViewInMetersis 120 meters and the nextRealisticViewWarning.distanceToRealisticViewInMetersis then 40 meters, since that is the distance between the first and second warnings.Declaration
Swift
public protocol RealisticViewWarningDelegate : AnyObject -
Realistic view warning options. Set the options for filtering the realistic view notifications and setting the realistic view notification distances based on the road type.
See moreDeclaration
Swift
public struct RealisticViewWarningOptions : Hashable -
A struct that provides railway crossing. The main field describing the railway crossing is
See moreRailwayCrossingWarning.typespecifying whether the railway crossing is protected by a barrier or not. UseRailwayCrossingWarningListenerto get notifications about upcoming railway crossings.Declaration
Swift
public struct RailwayCrossingWarning : Hashable -
This protocol should be implemented in order to receive railway crossing warnings. Note: The railway crossing warner can be either a zone warner or a point warner, depending on whether the railroad crossing warning is given for a railroad crossing zone or just a point. This means that for a railway crossing there will can be either 2 or 3 warnings emitted. In case the railroad crossing is a zone warner then 3 warnings will be emitted with the
See moreRailwayCrossingWarning.distance_typeset toDistanceType.AHEAD,DistanceType.REACHEDand lastlyDistanceType.PASSEDwhen the end of the railway crossing is passed. In case the railroad crossing is a point warner then 2 warnings will be emitted with theRailwayCrossingWarning.distance_typeset toDistanceType.AHEADandDistanceType.PASSEDwhen the end of the railway crossing is passed.Declaration
Swift
public protocol RailwayCrossingWarningDelegate : AnyObject -
Classification of the surrounding road environment. Note: This enum is in beta; its underlying layout is not stable and may change without any deprecation process.
See moreDeclaration
Swift
public enum RoadClassification : UInt32, CaseIterable, Codable -
Describes a road sign.
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 RoadSign : Hashable -
Road sign category defining a general purpose of the sign.
See moreDeclaration
Swift
public enum RoadSignCategory : UInt32, CaseIterable, Codable -
A road sign type classifying road signs that can appear along a road. Some signs are standardized and look the same in all countries, e.g.
See moreRoadSignType.stopSign. In general, the visual appearance of the road signs can differ across countries. Some road signs can be combined with other signs, likeWeatherTypesigns. The road sign will be always shown topmost.Declaration
Swift
public enum RoadSignType : UInt32, CaseIterable, Codable -
A road sign. The main field describing the sign is
See moreRoadSignWarning.type. Some road types are standardized, others can be country specific. A valid road sign contains knownRoadSignWarning.typeorRoadSignWarning.category. UseRoadSignWarningListenerto get notifications with current road signs.Declaration
Swift
public struct RoadSignWarning : Hashable -
This protocol should be implemented in order to receive road sign warnings. Note: The road sign warner is a point warner, which means that for a road sign there will always be 2 warnings emitted, with the [RoadSignWarning.distance_type] set to
See moreDistanceType.aheadandDistanceType.passedwhich is given when the location of the road sign is reached. ARoadSignWarningwill not be given until the previous warning of that type has been passed. For example, a route withRoadSignWarning120 meters andRoadSignWarning160 meters ahead, the first [RoadSignWarning.distance_to_road_sign_in_meters] is 120 meters and the next [RoadSignWarning.distance_to_road_sign_in_meters] is then 40 meters, since that is the distance between the first and second warnings.Declaration
Swift
public protocol RoadSignWarningDelegate : AnyObject -
A struct that provides road sign warning options. Set the options for filtering of road sign notifications.
See moreDeclaration
Swift
public struct RoadSignWarningOptions : Hashable -
Vehicle type for which a road sign is applicable.
See moreDeclaration
Swift
public enum RoadSignVehicleType : UInt32, CaseIterable, Codable -
This protocol should be implemented in order to receive textual attributes of the current road.
See moreDeclaration
Swift
public protocol RoadTextsDelegate : AnyObject -
Contains all the relevant information on a deviation from the route.
See moreDeclaration
Swift
public struct RouteDeviation : Hashable -
Represents a location matched to a specific position on a navigation route.
See moreDeclaration
Swift
public struct RouteMatchedLocation : Hashable -
Contains all the relevant information on the user’s progress along a route.
See moreDeclaration
Swift
public struct RouteProgress : Hashable -
This struct contains colors for the route progress visualization.
See moreDeclaration
Swift
public struct RouteProgressColors -
Indicates the type of the safety camera.
See moreDeclaration
Swift
public enum SafetyCameraType : UInt32, CaseIterable, Codable -
A struct that provides safety camera warning information.
See moreDeclaration
Swift
public struct SafetyCameraWarning : Hashable -
This protocol should be implemented in order to receive notifications on safety cameras. A
SafetyCameraWarningwill not be given until the previous warning of that type has been passed. For example, a route withSafetyCameraWarning120 meters andSafetyCameraWarning160 meters ahead, the firstSafetyCameraWarning.distance_to_camera_in_metersis 120 meters and the nextSafetyCameraWarning.distance_to_camera_in_metersis then 40 meters, since that is the distance between the first and second warnings.When
See moreSafetyCameraWarningListeneris enabled, a new set of text notifications (e.g. “Speed camera ahead”) will be trigger if any has been also enabled. The updates for the same safety camera appear in order of the initialDistanceType.AHEADevent. That is a first in first out approach is used when multiple safety cameras are reached or passed on the same location.Declaration
Swift
public protocol SafetyCameraWarningDelegate : AnyObject -
Safety camera warning options. Set the options in order to enable them.
See moreDeclaration
Swift
public struct SafetyCameraWarningOptions : Hashable -
A school zone warning which notifies about a school zone presence on road with a speed limit different than the default speed limit applicable for cars. Use
See moreSchoolZoneWarningListenerto get notifications about school zones.Declaration
Swift
public struct SchoolZoneWarning : Hashable -
This protocol should be implemented in order to receive school zone warnings.
See moreDeclaration
Swift
public protocol SchoolZoneWarningDelegate : AnyObject -
School zone warning options. Set the options for configuring of school zone notifications.
See moreDeclaration
Swift
public struct SchoolZoneWarningOptions : Hashable -
Do not use this. This class is used to initialize internals of the SDK.
See moreDeclaration
Swift
public class SDKNavigationInitializer : NSObject -
Use the
See moreSpatialAudioCuePanningto notify each of the azimuths which compose a spatial audio trajectory along the audio cue.Declaration
Swift
public class SpatialAudioCuePanningextension SpatialAudioCuePanning: NativeBaseextension SpatialAudioCuePanning: Hashable -
This class provides all the information for a spatial text notification, including the maneuver data and extra data which is required to set the direction of spatialization of the audio cue.
See moreDeclaration
Swift
public struct SpatialNotificationDetails : Hashable -
This struct provides all the information regarding an angular panning element, including the panning angle and whether or not it is the last element on the spatial audio trajectory.
See moreDeclaration
Swift
public struct SpatialTrajectoryData : Hashable -
Use this class to follow the current location of the user, zooming in and out and changing camera tilt according to the current speed.
See moreDeclaration
Swift
public class SpeedBasedCameraBehavior : CameraBehaviorextension SpeedBasedCameraBehavior: NativeBaseextension SpeedBasedCameraBehavior: Hashable -
Represents the speed limit of the current road. Speed limits that are described as conditional can be time-dependent. For time-dependent speed limits, the HERE SDK internally reads the current device time and notifies only on speed limits that are currently active.
It is recommended to use
See moreSpeedLimit.effectiveSpeedLimitInMetersPerSecond(...)when an application does not offer dedicated speed limit indicators for other cases, such as weather-dependent speed limits.Declaration
Swift
public struct SpeedLimit : Hashable -
This protocol should be implemented in order to receive the speed limit of the current road.
See moreDeclaration
Swift
public protocol SpeedLimitDelegate : AnyObject -
A struct that represents two separate speed limit offsets for higher and lower speed limits. A driver will be notified when the current driving speed is above the speed limit + offset. Only one of the two offsets is used depending on the current speed limit.
See moreDeclaration
Swift
public struct SpeedLimitOffset : Hashable -
This protocol should be implemented in order to receive notifications when a speed limit on a road is exceeded or driving speed is restored back to normal.
Note: The warnings issued by this protocol don’t take into account any temporary special speed limits. See
See moreSpeedLimitListener.Declaration
Swift
public protocol SpeedWarningDelegate : AnyObject -
A struct that contains all options to be used for the speed limit warnings.
See moreDeclaration
Swift
public struct SpeedWarningOptions : Hashable -
This enum represents the status of the speed warning feature.
See moreDeclaration
Swift
public enum SpeedWarningStatus : UInt32, CaseIterable, Codable -
Different types of text notifications.
See moreDeclaration
Swift
public enum TextNotificationType : UInt32, CaseIterable, Codable -
Identifies the timing profile used for emitting notifications and warnings.
See moreDeclaration
Swift
public enum TimingProfile : UInt32, CaseIterable, Codable -
A struct that provides information of a toll stop. 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 TollBooth : Hashable -
A struct that provides information for a toll booth.
See moreDeclaration
Swift
public struct TollBoothLane : Hashable -
Available payment methods.
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 TollCollectionMethod : UInt32, CaseIterable, Codable -
A struct that provides information for a toll stop with multiple toll booths.
See moreDeclaration
Swift
public struct TollStop : Hashable -
This protocol should be implemented in order to receive information on the upcoming toll booth structure.
The warner might also warn about gates/checkpoints for vignette, border checkpoints and similar structures on the street.
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. A
See moreTollStopwill not be given until the previous warning of that type has been passed. For example, a route withTollStop120 meters andTollStop160 meters ahead, the firstTollStop.distance_to_toll_stop_in_metersis 120 meters and the nextTollStop.distance_to_toll_stop_in_metersis then 40 meters, since that is the distance between the first and second warnings.Declaration
Swift
public protocol TollStopWarningDelegate : AnyObject -
Use this class to follow a moving target. The camera smoothly tracks the target’s position while adjusting heading, tilt, and zoom as needed. When tracking starts or resumes, the camera first animates a re-centering transition to align with the target.
Note: This is a beta feature; there maybe bugs and unexpected behavior. Related API’s are subject to change without a deprecation process.
See moreDeclaration
Swift
public class TrackingCameraBehavior : CameraBehaviorextension TrackingCameraBehavior: NativeBaseextension TrackingCameraBehavior: Hashable -
The type of road which is merging onto the current road.
See moreDeclaration
Swift
public enum TrafficMergeRoadType : UInt32, CaseIterable, Codable -
The side from where the merging traffic is joining with the current highway.
See moreDeclaration
Swift
public enum TrafficMergeSide : UInt32, CaseIterable, Codable -
A struct that provides warning for merging traffic. The main field describing the merging traffic is
See moreTrafficMergeWarning.road_typespecifying the type of road containing traffic which is merging with the current road. UseTrafficMergeWarningListenerto get notifications about upcoming merging traffic.Declaration
Swift
public struct TrafficMergeWarning : Hashable -
This protocol should be implemented in order to receive traffic merge warnings. Note: The traffic merge warner is a point warner, which means that for a traffic merge there will always be 2 warnings emitted, with the
See moreTrafficMergeWarning.distance_typeset toDistanceType.AHEADandDistanceType.PASSEDwhich is given when the location of the traffic merge is reached. ATrafficMergeWarningwill not be given until the previous warning of that type has been passed. For example, a route withTrafficMergeWarning120 meters andTrafficMergeWarning160 meters ahead, the firstTrafficMergeWarning.distance_to_traffic_merge_in_metersis 120 meters and the nextTrafficMergeWarning.distance_to_traffic_merge_in_metersis then 40 meters, since that is the distance between the first and second warnings.Declaration
Swift
public protocol TrafficMergeWarningDelegate : AnyObject -
A struct that provides traffic merge warning options. Set the options for filtering the traffic merge notifications.
See moreDeclaration
Swift
public struct TrafficMergeWarningOptions : Hashable -
This type contains colors used for the traffic with jam factor greater or equal to 4.0 on route ahead of the current location visualization.
See moreDeclaration
Swift
public struct TrafficOnRouteColors : Hashable -
Represents truck restrictions. For example, there can be a bridge ahead not high enough to pass a big truck or there can be a road ahead where the truck’s weight exceeds the permissible limit.
See moreDeclaration
Swift
public struct TruckRestrictionWarning : Hashable -
This protocol should be implemented in order to receive truck restriction warnings.
See moreDeclaration
Swift
public protocol TruckRestrictionsWarningDelegate : AnyObject -
Truck restrictions warning options.
See moreDeclaration
Swift
public struct TruckRestrictionsWarningOptions : Hashable -
This class provides all functionality of
See moreNavigatorProtocol. In addition, it provides advanced rendering capabilities for a smooth navigation experience. This includes interpolation of location updates along a route during turn-by-turn navigation and during tracking mode. By default, suitable map view settings are automatically applied. For example, a predefined current location marker is rendered. Similar toNavigator, this class continuously reacts to new locations provided from a location source and acts as aLocationDelegate. Note that the VisualNavigator takes control of the MapView’s (maximum) frame rate when rendering, i.e., betweenVisualNavigator.startRendering(...)andVisualNavigator.stopRendering(...)calls. It overwrites the MapView’s frame rate when some camera behavior is set using theVisualNavigator.guidanceFrameRate. When no camera behavior is preset, the original MapView’s frame rate (the value prior to theVisualNavigator.startRendering(...)call) will be used. While the VisualNavigator is rendering, direct changes in the MapView’s frame rate can lead to unexpected behavior and therefore should be avoided.Declaration
Swift
public class VisualNavigator : NavigatorProtocolextension VisualNavigator: NativeBaseextension VisualNavigator: Hashable -
This class contains colors used by
See moreVisualNavigatorto render the route and the maneuver arrow visualization.Declaration
Swift
public class VisualNavigatorColorsextension VisualNavigatorColors: NativeBaseextension VisualNavigatorColors: Hashable -
Clock used to properly retrieve time-dependent data from the map.
See moreDeclaration
Swift
public protocol WallClock : AnyObject -
Distances for emitting warnings according to the timing profile.
See moreDeclaration
Swift
public struct WarningNotificationDistances : Hashable -
Identifies the warning type.
See moreDeclaration
Swift
public enum WarningType : UInt32, CaseIterable, Codable -
Weather type attached to
See moreRoadSignWarningorVehicleRestriction.Conditionwhich limits the conditions for which the sign is applicable.Declaration
Swift
public enum WeatherType : UInt32, CaseIterable, Codable -
Defines a weight restriction.
See moreDeclaration
Swift
public struct WeightRestriction : Hashable -
Defines the type of a weight restriction.
See moreDeclaration
Swift
public enum WeightRestrictionType : UInt32, CaseIterable, Codable
Navigation Reference