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 more

    Declaration

    Swift

    public class AreaCameraBehavior : CameraBehavior
    extension AreaCameraBehavior: NativeBase
    extension AreaCameraBehavior: Hashable
  • Indicates arrival point type to announce in maneuver notification.

    See more

    Declaration

    Swift

    public enum ArrivalNotificationOption : UInt32, CaseIterable, Codable
  • The aspect ratio of the image.

    See more

    Declaration

    Swift

    public enum AspectRatio : UInt32, CaseIterable, Codable
  • Type of a border crossing given in a BorderCrossingWarning.

    See more

    Declaration

    Swift

    public enum BorderCrossingType : UInt32, CaseIterable, Codable
  • A border crossing. The main fields describing the border crossing are BorderCrossingWarning.type specifying whether the border crossing is given for a country border or for a state border and BorderCrossingWarning.countryCode which should be present at all times, regardless if the warning is a country border or a state border. A border crossing must contain a known BorderCrossingWarning.type and a BorderCrossingWarning.countryCode. The BorderCrossingWarning.stateCode is optional. Use BorderCrossingWarningListener to get notifications about upcoming country or state border crossings.

    See more

    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 DistanceType.ahead and DistanceType.passed which is given when the location of the border crossing is reached. A BorderCrossingWarning will not be given until the previous warning of that type has been passed. For example, a route with BorderCrossingWarning 120 meters and BorderCrossingWarning 160 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.

    See more

    Declaration

    Swift

    public protocol BorderCrossingWarningDelegate : AnyObject
  • Border crossing warning options.

    See more

    Declaration

    Swift

    public struct BorderCrossingWarningOptions : Hashable
  • Protocol used to change implement different camera behaviors.

    See more

    Declaration

    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 more

    Declaration

    Swift

    public struct CurrentSituationLaneView : Hashable
  • A struct that provides current situation lane assistance view information for the street at the current location.

    See more

    Declaration

    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.
    See more

    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.initialAzimuthInDegrees and CustomPanningData.sweepAzimuthInDegrees can be represented by the following angular values:

    Front Right Rear Left
    +90° +- 180 -90°

    When any of the members of CustomPanningData are 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.

    See more

    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 more

    Declaration

    Swift

    public struct DangerZoneWarning : Hashable
  • This protocol should be implemented in order to receive notifications about the Danger zones.

    See more

    Declaration

    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 more

    Declaration

    Swift

    public protocol DestinationReachedDelegate : AnyObject
  • Defines a dimension restriction.

    See more

    Declaration

    Swift

    public struct DimensionRestriction : Hashable
  • Defines the type of a dimension restriction.

    See more

    Declaration

    Swift

    public enum DimensionRestrictionType : UInt32, CaseIterable, Codable
  • Indicates the option of direction information included in the notification.

    See more

    Declaration

    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 sdk.navigation.TimingProfile calculated based on the speed limit present at the driver’s current location. Indicates the distance type for a warning.

    See more

    Declaration

    Swift

    public enum DistanceType : UInt32, CaseIterable, Codable
  • Indicates the divider between the lanes.

    See more

    Declaration

    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 more

    Declaration

    Swift

    public class DynamicCameraBehavior : CameraBehavior
    extension DynamicCameraBehavior: NativeBase
    extension DynamicCameraBehavior: Hashable
  • This class queries the HERE routing backend to find routes with less traffic and therefore an earlier remaining estimated time of arrival.

    DynamicRoutingEngine polls 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 the RoutingEngine as it already requests traffic-optimized routes.

    When a better route is found, it is recommended to follow these steps to set the new route:

    1. Stop the DynamicRoutingEngine.
    2. Update the currently active Navigatorinstance with the newly found route.
    3. Restart the DynamicRoutingEngine. This should be done outside of the onBetterRouteFound() callback.

    For both DynamicRoutingEngine and RoutingEngine, 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 the RouteOptions.departureTime as then the current time is used by default.

    The poll interval is defined by DynamicRoutingEngineOptions.pollInterval and triggered by DynamicRoutingEngine.updateCurrentLocation(...).

    See more

    Declaration

    Swift

    public class DynamicRoutingEngine
    extension DynamicRoutingEngine: NativeBase
    extension DynamicRoutingEngine: Hashable
  • This protocol should be implemented in order to receive notifications about the new route via the DynamicRoutingEngine.

    See more

    Declaration

    Swift

    public protocol DynamicRoutingDelegate : AnyObject
  • Options defining the behavior of the DynamicRoutingEngine. Both, minTimeDifference and minTimeDifferencePercentage, will be checked: When the poll interval is reached, the smaller difference will win and the DynamicRoutingDelegate is notified.

    See more

    Declaration

    Swift

    public struct DynamicRoutingEngineOptions : Hashable
  • Represents Environmental zones.

    See more

    Declaration

    Swift

    public struct EnvironmentalZoneWarning : Hashable
  • This protocol should be implemented in order to receive notifications about the environmental zones.

    See more

    Declaration

    Swift

    public protocol EnvironmentalZoneWarningDelegate : AnyObject
  • Contains all the information regarding the next text announcement.

    See more

    Declaration

    Swift

    public struct EventText : Hashable
  • This protocol should be implemented in order to receive notifications when text notifications are available from Navigator. Multiple notifications can be given for the same maneuver at different distances.

    See more

    Declaration

    Swift

    public protocol EventTextDelegate : AnyObject
  • Text notifications options.

    See more

    Declaration

    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 more

    Declaration

    Swift

    public class FixedCameraBehavior : CameraBehavior
    extension FixedCameraBehavior: NativeBase
    extension FixedCameraBehavior: Hashable
  • Type of a general warning that a road sign represents.

    See more

    Declaration

    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 more

    Declaration

    Swift

    public class GPXDocument
    extension GPXDocument: NativeBase
    extension GPXDocument: Hashable
  • Options used when reading the GPX file.

    See more

    Declaration

    Swift

    public struct GPXOptions : Hashable
  • Single track from the GPXDocument. Can be used as an input to the LocationSimulator. Can be created and modified via GPXTrackWriter.

    See more

    Declaration

    Swift

    public class GPXTrack
    extension GPXTrack: NativeBase
    extension GPXTrack: Hashable
  • Writes GPX track points to GPXTrack. The instance of the class should be added as a listener to the LocationEngine for 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 resulting GPXTrack: latitude, longitude, altitude, time, bearingInDegrees, pitchInDegrees, speedInMetersPerSecond, horizontalAccuracyInMeters, verticalAccuracyInMeters, bearingAccuracyInDegrees, speedAccuracyInMetersPerSecond and locationTechnology.

    Use case examples:

    A user wants to create and save a new GPXDocument with one GPXTrack:

    A user wants to modify and save GPXTrack in the existing GPXDocument:

    The GPXDocument including 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.

    See more

    Declaration

    Swift

    public class GPXTrackWriter : LocationDelegate
    extension GPXTrackWriter: NativeBase
    extension GPXTrackWriter: Hashable
  • This protocol should be implemented in order to receive interpolated locations. The interpolated locations are only provided between VisualNavigator.startRendering(...) and VisualNavigator.stopRendering(...) calls and the application is not running in the background.

    See more

    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 JunctionViewLaneAssistance and ManeuverViewLaneAssistance separately or to indicate only ManeuverViewLaneAssistance information - JunctionViewLaneAssistance will 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 from ManeuverViewLaneAssistance.

    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, JunctionViewLaneAssistance can be disjointed from maneuvers. If lane assistance should be used to associate it with upcoming maneuvers, consider to use ManeuverViewLaneAssistance instead. Note that ManeuverViewLaneAssistance notifications are synchronized with maneuver events, whereas JunctionViewLaneAssistance events are not strictly synchronized with maneuver events.
    See more

    Declaration

    Swift

    public struct JunctionViewLaneAssistance : Hashable
  • This protocol should be implemented in order to receive notifications on JunctionViewLaneAssistance. See JunctionViewLaneAssistance documentation for further details.

    See more

    Declaration

    Swift

    public protocol JunctionViewLaneAssistanceDelegate : AnyObject
  • A struct that provides information for a lane.

    See more

    Declaration

    Swift

    public struct Lane : Hashable
  • A struct which identifies the vehicle type(s) allowed to access a lane.

    See more

    Declaration

    Swift

    public struct LaneAccess : Hashable
  • This enum defines the lane direction.

    See more

    Declaration

    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 true or false at the same time. Lanes such as bicycle lanes mostly never contain a direction category and thus, all members are false.

    See more

    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 more

    Declaration

    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 more

    Declaration

    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
    See more

    Declaration

    Swift

    public struct LaneType : Hashable
  • A struct that provides low speed zone. The main field describing the low speed zone is LowSpeedZoneWarning.speed_limit_in_meters_per_second specifying the speed limit of the low speed zone. Use LowSpeedZoneWarningListener to get notifications about upcoming low speed zones.

    See more

    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 LowSpeedZoneWarning.distance_type set to DistanceType.AHEAD, DistanceType.REACHED and lastly DistanceType.PASSED when the end of the low speed zone is passed.

    See more

    Declaration

    Swift

    public protocol LowSpeedZoneWarningDelegate : AnyObject
  • This class provides the information regarding the next maneuver to be triggered

    See more

    Declaration

    Swift

    public struct ManeuverNotificationDetails : Hashable
  • A struct containing all options to be used when generating maneuver notifications.

    See more

    Declaration

    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 ManeuverNotificationType is sent - dependent on the TimingProfile.

    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:

    The timings follow a strict order:

    1. ManeuverNotificationType.range: The first notification, it may be very far away (use 0 for farthest or earliest possible notification).
    2. ManeuverNotificationType.reminder: The second notification.
    3. ManeuverNotificationType.distance: A second reminder notification to take action.
    4. 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.rangeNotificationDistanceInMeters is smaller than ManeuverNotificationTimingOptions.reminderNotificationDistanceInMeters the 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 ManeuverNotificationType a 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 for ManeuverNotificationTimingOptions.rangeNotificationDistanceInMeters and ManeuverNotificationTimingOptions.rangeNotificationTimeInSeconds. It means that the maneuver notifications of type ManeuverNotificationType.range should 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.doubleNotificationDistanceInMeters threshold 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 the setManeuverNotificationTimingOptions().

    Note: In the comment of each attribute, the term Others refers to non-pedestrian transport modes such as TransportMode.car, TransportMode.bicycle, TransportMode.truck.

    Attention: The default values for TransportMode.pedestrian on TimingProfile.fastSpeed are theoretical, as such routes cannot be calculated with the HERE SDK as highways are forbidden for pedestrians.

    Usage example:

    // 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);
    
    See more

    Declaration

    Swift

    public struct ManeuverNotificationTimingOptions : Hashable
  • Indicates the type of the maneuver notification.

    See more

    Declaration

    Swift

    public enum ManeuverNotificationType : UInt32, CaseIterable, Codable
  • Indicates a user’s progress to a Maneuver.

    See more

    Declaration

    Swift

    public struct ManeuverProgress : Hashable
  • 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 EventTextDelegate. EventTextDelegate has 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.

    See more

    Declaration

    Swift

    public struct ManeuverViewLaneAssistance : Hashable
  • This protocol should be implemented in order to receive notifications on ManeuverViewLaneAssistance. See ManeuverViewLaneAssistance documentation for further details.

    See more

    Declaration

    Swift

    public protocol ManeuverViewLaneAssistanceDelegate : AnyObject
  • Describes a map-matched location in the world at a given time.

    See more

    Declaration

    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 more

    Declaration

    Swift

    public struct Milestone : Hashable
  • This enum represents the status of the Milestone.

    See more

    Declaration

    Swift

    public enum MilestoneStatus : UInt32, CaseIterable, Codable
  • This protocol should be implemented in order to receive notifications from this class about the arrival at each Milestone or missing it.

    See more

    Declaration

    Swift

    public protocol MilestoneStatusDelegate : AnyObject
  • This enum represents the type of the Milestone.

    See more

    Declaration

    Swift

    public enum MilestoneType : UInt32, CaseIterable, Codable
  • Indicates the type of the natural guidance element.

    See more

    Declaration

    Swift

    public enum NaturalGuidanceType : UInt32, CaseIterable, Codable
  • Contains all the relevant information on the current location.

    See more

    Declaration

    Swift

    public struct NavigableLocation : Hashable
  • This protocol should be implemented in order to receive notifications about the current location from Navigator.

    See more

    Declaration

    Swift

    public protocol NavigableLocationDelegate : AnyObject
  • 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 (see RouteProgress), route deviations (see RouteDeviation) and maneuver notifications (see EventTextDelegate).

    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 TransportMode is determined from the provided Route instance, but the actual SectionTransportMode can vary along a route, for example, when a ferry must be taken. When no route is set, the NavigableLocation assumes 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 at LocationAccuracy.NAVIGATION.

    Note: Even without provided locations, for example, while driving through a tunnel, this class can interpolate missing location events and still send NavigableLocation, RouteProgress and maneuver notifications.

    See more

    Declaration

    Swift

    public class Navigator : NavigatorProtocol
    extension Navigator: NativeBase
    extension Navigator: Hashable
  • This protocol provides the basic functionality needed to run a navigation session.

    See more

    Declaration

    Swift

    public protocol NavigatorProtocol : LocationDelegate
  • Indicates the formatting option of phoneme included in the notification.

    See more

    Declaration

    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 more

    Declaration

    Swift

    public protocol OffRoadDestinationReachedDelegate : AnyObject
  • Represents the information needed to help the users to reach their off-road destination.

    See more

    Declaration

    Swift

    public struct OffRoadProgress : Hashable
  • This protocol should be implemented in order to receive notifications about the current off-road location from Navigator.

    See more

    Declaration

    Swift

    public protocol OffRoadProgressDelegate : AnyObject
  • A realistic view. The fields describing the realistic view are RealisticViewRasterImage.realisticViewPngImageContent contains a PNG image of the realistic view and is represented as binary data. RealisticViewRasterImage.realisticViewType indicates the type of the realistic view. A valid realistic view contains a non-empty RealisticViewRasterImage.realisticViewPngImageContent. Use RealisticViewWarningListener to get notifications with the realistic views of the upcoming realistic view.

    See more

    Declaration

    Swift

    public struct RealisticViewRasterImage : Hashable
  • A realistic view of a junction. The fields describing the realistic view are RealisticViewVectorImage.junctionViewSvgImageContent contains a SVG image of the junction view represented as a string. RealisticViewVectorImage.signpostSvgImageContent contains an SVG image of the signpost corresponding to the junction, also represented as a string. A valid realistic view contains a non-empty RealisticViewVectorImage.junctionViewSvgImageContent and a non-empty RealisticViewVectorImage.signpostSvgImageContent. Use RealisticViewWarningListener to get notifications with the realistic views of the upcoming junctions.

    See more

    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.distanceType is DistanceType.ahead, the RealisticViewWarning.realisticViewVectorImage object will be provided with the junction view and the signpost representations. For RealisticViewWarning.distanceType with value DistanceType.passed, the RealisticViewWarning.realisticViewVectorImage object will be null. Use RealisticViewWarningListener to 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 Region. This can be enabled via feature configurations.

    See more

    Declaration

    Swift

    public struct RealisticViewWarning : Hashable
  • This protocol should be implemented in order to receive realistic view warnings.

    A RealisticViewWarning will not be given until the previous warning of that type has been passed. For example, a route with RealisticViewWarning 120 meters and RealisticViewWarning 160 meters ahead, the first RealisticViewWarning.distanceToRealisticViewInMeters is 120 meters and the next RealisticViewWarning.distanceToRealisticViewInMeters is then 40 meters, since that is the distance between the first and second warnings.

    See more

    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 more

    Declaration

    Swift

    public struct RealisticViewWarningOptions : Hashable
  • A struct that provides railway crossing. The main field describing the railway crossing is RailwayCrossingWarning.type specifying whether the railway crossing is protected by a barrier or not. Use RailwayCrossingWarningListener to get notifications about upcoming railway crossings.

    See more

    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 RailwayCrossingWarning.distance_type set to DistanceType.AHEAD, DistanceType.REACHED and lastly DistanceType.PASSED when the end of the railway crossing is passed. In case the railroad crossing is a point warner then 2 warnings will be emitted with the RailwayCrossingWarning.distance_type set to DistanceType.AHEAD and DistanceType.PASSED when the end of the railway crossing is passed.

    See more

    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 more

    Declaration

    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 more

    Declaration

    Swift

    public struct RoadSign : Hashable
  • Road sign category defining a general purpose of the sign.

    See more

    Declaration

    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. RoadSignType.stopSign. In general, the visual appearance of the road signs can differ across countries. Some road signs can be combined with other signs, like WeatherType signs. The road sign will be always shown topmost.

    See more

    Declaration

    Swift

    public enum RoadSignType : UInt32, CaseIterable, Codable
  • A road sign. The main field describing the sign is RoadSignWarning.type. Some road types are standardized, others can be country specific. A valid road sign contains known RoadSignWarning.type or RoadSignWarning.category. Use RoadSignWarningListener to get notifications with current road signs.

    See more

    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 DistanceType.ahead and DistanceType.passed which is given when the location of the road sign is reached. A RoadSignWarning will not be given until the previous warning of that type has been passed. For example, a route with RoadSignWarning 120 meters and RoadSignWarning 160 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.

    See more

    Declaration

    Swift

    public protocol RoadSignWarningDelegate : AnyObject
  • A struct that provides road sign warning options. Set the options for filtering of road sign notifications.

    See more

    Declaration

    Swift

    public struct RoadSignWarningOptions : Hashable
  • Vehicle type for which a road sign is applicable.

    See more

    Declaration

    Swift

    public enum RoadSignVehicleType : UInt32, CaseIterable, Codable
  • This protocol should be implemented in order to receive textual attributes of the current road.

    See more

    Declaration

    Swift

    public protocol RoadTextsDelegate : AnyObject
  • Contains all the relevant information on a deviation from the route.

    See more

    Declaration

    Swift

    public struct RouteDeviation : Hashable
  • This protocol should be implemented in order to receive notifications about route deviations from Navigator.

    See more

    Declaration

    Swift

    public protocol RouteDeviationDelegate : AnyObject
  • Represents a location matched to a specific position on a navigation route.

    See more

    Declaration

    Swift

    public struct RouteMatchedLocation : Hashable
  • Contains all the relevant information on the user’s progress along a route.

    See more

    Declaration

    Swift

    public struct RouteProgress : Hashable
  • This struct contains colors for the route progress visualization.

    See more

    Declaration

    Swift

    public struct RouteProgressColors
  • This protocol should be implemented in order to receive notifications about the route progress from Navigator.

    See more

    Declaration

    Swift

    public protocol RouteProgressDelegate : AnyObject
  • Indicates the type of the safety camera.

    See more

    Declaration

    Swift

    public enum SafetyCameraType : UInt32, CaseIterable, Codable
  • A struct that provides safety camera warning information.

    See more

    Declaration

    Swift

    public struct SafetyCameraWarning : Hashable
  • This protocol should be implemented in order to receive notifications on safety cameras. A SafetyCameraWarning will not be given until the previous warning of that type has been passed. For example, a route with SafetyCameraWarning 120 meters and SafetyCameraWarning 160 meters ahead, the first SafetyCameraWarning.distance_to_camera_in_meters is 120 meters and the next SafetyCameraWarning.distance_to_camera_in_meters is then 40 meters, since that is the distance between the first and second warnings.

    When SafetyCameraWarningListener is 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 initial DistanceType.AHEAD event. That is a first in first out approach is used when multiple safety cameras are reached or passed on the same location.

    See more

    Declaration

    Swift

    public protocol SafetyCameraWarningDelegate : AnyObject
  • Safety camera warning options. Set the options in order to enable them.

    See more

    Declaration

    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 SchoolZoneWarningListener to get notifications about school zones.

    See more

    Declaration

    Swift

    public struct SchoolZoneWarning : Hashable
  • This protocol should be implemented in order to receive school zone warnings.

    See more

    Declaration

    Swift

    public protocol SchoolZoneWarningDelegate : AnyObject
  • School zone warning options. Set the options for configuring of school zone notifications.

    See more

    Declaration

    Swift

    public struct SchoolZoneWarningOptions : Hashable
  • Do not use this. This class is used to initialize internals of the SDK.

    See more

    Declaration

    Swift

    public class SDKNavigationInitializer : NSObject
  • Indicates a user’s progress along a Section.

    See more

    Declaration

    Swift

    public struct SectionProgress : Hashable
  • Use the SpatialAudioCuePanning to notify each of the azimuths which compose a spatial audio trajectory along the audio cue.

    See more

    Declaration

    Swift

    public class SpatialAudioCuePanning
    extension SpatialAudioCuePanning: NativeBase
    extension 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 more

    Declaration

    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 more

    Declaration

    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 more

    Declaration

    Swift

    public class SpeedBasedCameraBehavior : CameraBehavior
    extension SpeedBasedCameraBehavior: NativeBase
    extension 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 SpeedLimit.effectiveSpeedLimitInMetersPerSecond(...) when an application does not offer dedicated speed limit indicators for other cases, such as weather-dependent speed limits.

    See more

    Declaration

    Swift

    public struct SpeedLimit : Hashable
  • This protocol should be implemented in order to receive the speed limit of the current road.

    See more

    Declaration

    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 more

    Declaration

    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 SpeedLimitListener.

    See more

    Declaration

    Swift

    public protocol SpeedWarningDelegate : AnyObject
  • A struct that contains all options to be used for the speed limit warnings.

    See more

    Declaration

    Swift

    public struct SpeedWarningOptions : Hashable
  • This enum represents the status of the speed warning feature.

    See more

    Declaration

    Swift

    public enum SpeedWarningStatus : UInt32, CaseIterable, Codable
  • Different types of text notifications.

    See more

    Declaration

    Swift

    public enum TextNotificationType : UInt32, CaseIterable, Codable
  • Identifies the timing profile used for emitting notifications and warnings.

    See more

    Declaration

    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 more

    Declaration

    Swift

    public struct TollBooth : Hashable
  • A struct that provides information for a toll booth.

    See more

    Declaration

    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 more

    Declaration

    Swift

    public enum TollCollectionMethod : UInt32, CaseIterable, Codable
  • A struct that provides information for a toll stop with multiple toll booths.

    See more

    Declaration

    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 TollStop will not be given until the previous warning of that type has been passed. For example, a route with TollStop 120 meters and TollStop 160 meters ahead, the first TollStop.distance_to_toll_stop_in_meters is 120 meters and the next TollStop.distance_to_toll_stop_in_meters is then 40 meters, since that is the distance between the first and second warnings.

    See more

    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 more

    Declaration

    Swift

    public class TrackingCameraBehavior : CameraBehavior
    extension TrackingCameraBehavior: NativeBase
    extension TrackingCameraBehavior: Hashable
  • The type of road which is merging onto the current road.

    See more

    Declaration

    Swift

    public enum TrafficMergeRoadType : UInt32, CaseIterable, Codable
  • The side from where the merging traffic is joining with the current highway.

    See more

    Declaration

    Swift

    public enum TrafficMergeSide : UInt32, CaseIterable, Codable
  • A struct that provides warning for merging traffic. The main field describing the merging traffic is TrafficMergeWarning.road_type specifying the type of road containing traffic which is merging with the current road. Use TrafficMergeWarningListener to get notifications about upcoming merging traffic.

    See more

    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 TrafficMergeWarning.distance_type set to DistanceType.AHEAD and DistanceType.PASSED which is given when the location of the traffic merge is reached. A TrafficMergeWarning will not be given until the previous warning of that type has been passed. For example, a route with TrafficMergeWarning 120 meters and TrafficMergeWarning 160 meters ahead, the first TrafficMergeWarning.distance_to_traffic_merge_in_meters is 120 meters and the next TrafficMergeWarning.distance_to_traffic_merge_in_meters is then 40 meters, since that is the distance between the first and second warnings.

    See more

    Declaration

    Swift

    public protocol TrafficMergeWarningDelegate : AnyObject
  • A struct that provides traffic merge warning options. Set the options for filtering the traffic merge notifications.

    See more

    Declaration

    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 more

    Declaration

    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 more

    Declaration

    Swift

    public struct TruckRestrictionWarning : Hashable
  • This protocol should be implemented in order to receive truck restriction warnings.

    See more

    Declaration

    Swift

    public protocol TruckRestrictionsWarningDelegate : AnyObject
  • Truck restrictions warning options.

    See more

    Declaration

    Swift

    public struct TruckRestrictionsWarningOptions : Hashable
  • This class provides all functionality of NavigatorProtocol. 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 to Navigator, this class continuously reacts to new locations provided from a location source and acts as a LocationDelegate. Note that the VisualNavigator takes control of the MapView’s (maximum) frame rate when rendering, i.e., between VisualNavigator.startRendering(...) and VisualNavigator.stopRendering(...) calls. It overwrites the MapView’s frame rate when some camera behavior is set using the VisualNavigator.guidanceFrameRate. When no camera behavior is preset, the original MapView’s frame rate (the value prior to the VisualNavigator.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.

    See more

    Declaration

    Swift

    public class VisualNavigator : NavigatorProtocol
    extension VisualNavigator: NativeBase
    extension VisualNavigator: Hashable
  • This class contains colors used by VisualNavigator to render the route and the maneuver arrow visualization.

    See more

    Declaration

    Swift

    public class VisualNavigatorColors
    extension VisualNavigatorColors: NativeBase
    extension VisualNavigatorColors: Hashable
  • Clock used to properly retrieve time-dependent data from the map.

    See more

    Declaration

    Swift

    public protocol WallClock : AnyObject
  • Distances for emitting warnings according to the timing profile.

    See more

    Declaration

    Swift

    public struct WarningNotificationDistances : Hashable
  • Identifies the warning type.

    See more

    Declaration

    Swift

    public enum WarningType : UInt32, CaseIterable, Codable
  • Weather type attached to RoadSignWarning or VehicleRestriction.Condition which limits the conditions for which the sign is applicable.

    See more

    Declaration

    Swift

    public enum WeatherType : UInt32, CaseIterable, Codable
  • Defines a weight restriction.

    See more

    Declaration

    Swift

    public struct WeightRestriction : Hashable
  • Defines the type of a weight restriction.

    See more

    Declaration

    Swift

    public enum WeightRestrictionType : UInt32, CaseIterable, Codable