# Classes

The following classes are available globally.

- `BooleanOptionItem`

  An option item with only one checkbox.

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class BooleanOptionItem : OptionItem

- `GuidanceCurrentStreetNameMonitor`

  Monitors and notifies the delegate about changes of the current street name.

  See more

  #### Declaration

  Swift

      open class GuidanceCurrentStreetNameMonitor : NSObject

- `GuidanceEstimatedArrivalMonitor`

  Monitors and notifies the delegate about changes on the estimated arrival at the destination.

  See more

  #### Declaration

  Swift

      open class GuidanceEstimatedArrivalMonitor

- `GuidanceEstimatedArrivalView`

  View for displaying the estimated arrival information, which includes estimated time of arrival (ETA), time to arrival (TTA), and travel distance to destination.

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class GuidanceEstimatedArrivalView : UIView

- `GuidanceManeuverMonitor`

  This class is responsible for monitoring HERE Maps SDK guidance maneuver events provided by `NMANavigationManager`.

  See more

  #### Declaration

  Swift

      open class GuidanceManeuverMonitor : NSObject

- `GuidanceManeuverView`

  A view for displaying the maneuvers during guidance.

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class GuidanceManeuverView : UIView

- `GuidanceNextManeuverMonitor`

  Monitors and notifies the delegate about changes on the estimated arrival at the destination.

  See more

  #### Declaration

  Swift

      open class GuidanceNextManeuverMonitor : NSObject

- `GuidanceNextManeuverView`

  View for displaying the next maneuver data including maneuver icon, distance and street name.

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class GuidanceNextManeuverView : UIView

- `GuidanceSpeedLimitView`

  View for displaying the speed limit information.

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class GuidanceSpeedLimitView : UIView

- `GuidanceSpeedMonitor`

  Monitors and notifies the delegate about changes on speed and speed limit.

  See more

  #### Declaration

  Swift

      open class GuidanceSpeedMonitor : NSObject

- `GuidanceSpeedView`

  View for displaying the current speed information.

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class GuidanceSpeedView : UIView

- `GuidanceStreetLabel`

  Label for displaying the street name, which depends on position and map tracking data.

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class GuidanceStreetLabel : UILabel

- `HazardousMaterialsOptionsPanel`

  An options panel for displaying the hazardous material’s options available for `NMARoutingMode`.

  See also

  `NMARoutingMode.hazardousGoods`
  See more

  #### Declaration

  Swift

      @IBDesignable
      open class HazardousMaterialsOptionsPanel : OptionsPanel

- `ManeuverItemView`

  The maneuver item view.

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class ManeuverItemView : UIView

- `ManeuverTableView`

  A view to display all the maneuvers of a route based on the visible sections setting. Note that in case there is no maneuver, it shows a warning via `noManeuverFoundLabel` property.

  See also

  ManeuverItemView
  See more

  #### Declaration

  Swift

      @IBDesignable
      open class ManeuverTableView : UITableView

- `MultipleChoiceOptionItem`

  An option item with a set of checkboxes. The user can can select more than one option among the displayed options.

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class MultipleChoiceOptionItem : OptionItem

- `NavigationManagerDelegateDispatcher`

  The Dispatcher for `NMANavigationManager` delegate events.

  When the shared instance of the NavigationManagerDelegateDispatcher is assigned as NMANavigationManager delegate, it acts as a dispatcher for all the other instances that conform to the NMANavigationManagerDelegate protocol.

  See more

  #### Declaration

  Swift

      open class NavigationManagerDelegateDispatcher : NSObject

- `NumericOptionItem`

  An option item to set a numeric value.

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class NumericOptionItem : OptionItem

- `OptionItem`

  The base class for all the available option items.

  See more

  #### Declaration

  Swift

      open class OptionItem : UIView

- `OptionItemSpec`

  The helper class to make option items.

  See more

  #### Declaration

  Swift

      open class OptionItemSpec : NSObject

- `OptionsPanel`

  The base class for all the panels containing set of options.

  See more

  #### Declaration

  Swift

      open class OptionsPanel : UIView

- `RouteDescriptionItem`

  A visual item to display a `NMARoute` object based on its visible sections. Note that the traffic delay depends on the `NMAMapView`‘s `isTrafficVisible` flag and `NMADynamicPenalty`’s `trafficPenaltyMode` setting: when the HERE map shows traffic data, the traffic delay data appears. However, when the HERE map does not show traffic data and the `trafficPenaltyMode` is not `.optimal`, then there is no traffic data available. In this case, trying to show traffic delay results in No delays displayed automatically. Hence, it is advisable to calculate the routes with `.optimal` penalty mode. Plus, traffic delay information is not available when the transport mode is `.bike` or `.pedestrian`.

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class RouteDescriptionItem : UIView

- `RouteDescriptionList`

  A panel displaying a list of scrollable `RouteDescriptionItem` elements for each of the set routes. Note that in case there is no route, it shows a warning via `noRouteFoundLabel` property.

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class RouteDescriptionList : UIView

- `RouteTypeOptionsPanel`

  An options panel for displaying the route type options of a routing mode.

  See also

  `NMARoutingMode.routingType`
  See more

  #### Declaration

  Swift

      @IBDesignable
      open class RouteTypeOptionsPanel : OptionsPanel

- `RoutingOptionsPanel`

  An options panel for displaying the drive options of a routing mode.

  See also

  `NMARoutingMode.routingOptions` property.
  See more

  #### Declaration

  Swift

      @IBDesignable
      open class RoutingOptionsPanel : OptionsPanel

- `SingleChoiceOptionItem`

  An option item with a `UIPickerView`. The user can select only one option among the displayed options. Plus, there must be always a selected option.

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class SingleChoiceOptionItem : OptionItem

- `Styles`

  Provides all the styling for the visual elements after they are loaded out of nib files or created.

  See more

  #### Declaration

  Swift

      @objc
      public class Styles : NSObject

- `TitleItem`

  This class holds all the visuals for a panel title.

  See more

  #### Declaration

  Swift

      open class TitleItem : NSObject

- `TrafficOptionsPanel`

  An options panel for displaying the traffic options of a dynamic penalty.

  See also

  `NMADynamicPenalty.trafficPenaltyMode`
  See more

  #### Declaration

  Swift

      @IBDesignable
      open class TrafficOptionsPanel : OptionsPanel

- `TransportModePanel`

  A panel displaying all the possible transport modes.

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class TransportModePanel : UIView

- `TravelTimePanel`

  Displays the selected time from `TravelTimePicker` and when tapped, opens a `TravelTimePicker` to update the selected time.

  Note

  Currently, arrival time is not supported by all the HERE Maps SDK routing modes. Please, check the relevant HERE Maps SDK documentation before using the arrival time option for a routing mode.
  See more

  #### Declaration

  Swift

      @IBDesignable
      open class TravelTimePanel : UIView

- `TravelTimePicker`

  A dialog to select departure date and time.

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class TravelTimePicker : UIViewController

- `TruckOptionsPanel`

  An options panel for displaying the truck options of a routing mode.

  See also

  NMARoutingMode
  See more

  #### Declaration

  Swift

      @IBDesignable
      open class TruckOptionsPanel : OptionsPanel

- `TunnelOptionsPanel`

  An options panel for displaying the tunnel options of the underlying `NMARoutingMode`.

  See also

  `NMARoutingMode.tunnelCategory`
  See more

  #### Declaration

  Swift

      @IBDesignable
      open class TunnelOptionsPanel : OptionsPanel

- `Version`

  This class is responsible for providing all the version data.

  See more

  #### Declaration

  Swift

      public class Version : NSObject

- `WaypointEntry`

  Wrapper class for a `NMAWaypoint` object and an optional name. When the name is not specified, the `NMAWaypoint` object’s coordinates are used to name the entry. Specifying a name can be useful to show, for example, POI names with addresses or hints like Select Location or Home.

  See more

  #### Declaration

  Swift

      open class WaypointEntry : NSObject

- `WaypointList`

  Displays a list of scrollable `WaypointItem` objects containing a `WaypointEntry` and provides the `WaypointListDelegate` protocol to get notified in case of user interaction. It allows users drag items via a drag button and delete items via a delete button. By default, a newly created `WaypointList` object has two empty `WaypointEntry` objects. Here, empty means the `WaypointEntry` object has no coordinates and has a default name. In order to launch a `WaypointList` object with a list of entries, its `waypointEntries` property may be set like this:

      waypointList.waypointEntries = [
         WaypointEntry(...),
         WaypointEntry(...),
         WaypointEntry(...)
      ]

  See more

  #### Declaration

  Swift

      @IBDesignable
      open class WaypointList : UITableView