HERE iOS SDK Developer's Guide

NMANavigationManager

Class Summary

class NMANavigationManager

Derived from: NSObject

NMANavigationManager is a navigation manager class that provides guidance advice and information along a route.

Include: NMAKit.framework/headers/NMANavigationManager.h

Inheritance Diagrams

Figure 1. Public inheritance diagram for NMANavigationManager

[For complete information, see the section Class Details]

Public Property Summary

Table 1. Public Properties
Public Properties

[readable, assign] double  averageSpeed

Returns the average speed of distance travelled in meters/sec or 0 if it cannot be calculated

[readable, writable, assign] BOOL  backgroundNavigationEnabled

Controls whether navigation is paused when the application is sent to the background

[readable, writable, assign] BOOL  backgroundNavigationStartEnabled

Controls whether navigation may be started when the app is in the background

[readable, writable, assign] BOOL  beepsEnabled

Determines whether to enable beeps for walk navigation

[readable, assign] NMAManeuver currentManeuver

Returns the current (upcoming) maneuver on the route, or nil, if this information is not available because the information is not ready yet, or there are no more maneuvers on the route

[readable, writable, weak] id< NMANavigationManagerDelegate delegate

Receives event callbacks containing information about the current navigation session

[readable, assign] NMAUint64   distanceFromStart

Returns the distance from route start to the current position in meters, or NMANavigationManagerInvalidValue on error

[readable, assign] NMAUint64   distanceToCurrentManeuver

Returns the distance from current position to the current (upcoming) maneuver in meters, or NMANavigationManagerInvalidValue on error

[readable, assign] NMAUint64   distanceToDestination

Returns the distance from current position to the end of route in meters, or NMANavigationManagerInvalidValue on error

[readable, assign] NMAUint64   distanceToNextManeuver

Returns the distance from current position to the next maneuver AFTER THE CURRENT MANEUVER in meters, or NMANavigationManagerInvalidValue on error

[readable, writable, assign] NMANavigationAudioEvent   enabledAudioEvents

Enable or disable audio events during navigation

[readable, assign] float  highSpeedOffset

The current high speed offset in meters/second

[readable, assign] float  lowSpeedOffset

The current low speed offset in meters/second

[readable, writable, weak] NMAMapView map

The NMAMapView used for the current navigation

[readable, writable, assign] BOOL  mapTrackingAutoZoomEnabled

Controls whether the map zoom level is adjusted during navigation map tracking

[readable, writable, assign] BOOL  mapTrackingEnabled

Allows the NMANavigationManager to automatically update map position as navigation progresses

[readable, writable, assign] NMAMapTrackingOrientation   mapTrackingOrientation

Determines how the map is oriented during navigation map tracking

[readable, writable, assign] NMAMapTrackingTilt   mapTrackingTilt

Controls how the map is tilted when map tracking is enabled

[readable, assign] NMANavigationMode   navigationMode

Returns the current mode of the navigation manager

[readable, assign] NMANavigationState   navigationState

Returns the current state of the navigation related to the tracked route

[readable, assign] NMAManeuver nextManeuver

Returns the next maneuver on the route AFTER THE CURRENT MANEUVER , or nil if there is none

[readable, writable, assign] BOOL  paused

When set to YES, the current navigation will be paused if any

[readable, writable, assign] NSUInteger  realisticViewAspectRatios

A bit mask defining the desired realistic view aspect ratios

[readable, writable, assign] NMARealisticViewMode   realisticViewMode

Determines the type of realistic views (if any) that are provided during navigation

[readable, assign] NSUInteger  routeRequestInterval

The time that the navigation manager waits between subsequent checks for a faster route

[readable, assign] NMASafetySpotWarner safetySpotWarner

NMASafetySpotWarner instance providing realtime notifications of safety spots during an active navigation session (NMANavigationStateRunning)

[readable, assign] float  speedBoundary

The current speed boundary in meters/second

[readable, writable, assign] BOOL  speedWarningAudioFeedbackEnabled

Determines whether to enable speed warning audio feedback

[readable, writable, assign] BOOL  speedWarningEnabled

Controls whether speed warnings are enabled

[readable, assign] NSTimeInterval  timeToArrival

Returns the number of seconds that remain to travel to the destination, or -DBL_MAX (see float

[readable, assign] NMATrafficAvoidanceMode   trafficAvoidanceMode

The current traffic avoidance mode

[readable, assign] NMATrafficWarner trafficWarner

NMATrafficWarner instance providing realtime notifications of traffic flows and events during an active navigation session (NMANavigationStateRunning)

[readable, writable, assign] NMATTSOutputFormat   ttsOutputFormat

The TTS text output format

[readable, writable, assign] BOOL  vibrationEnabled

Determines whether to enable device vibration for walk navigation

[readable, writable, assign] BOOL  voiceEnabled

Determines whether to enable navigation voice

[readable, writable, assign] NMAVoicePackage voicePackage

The voice package used for navigation

[readable, writable, assign] NMAMeasurementSystem   voicePackageMeasurementSystem

The measure unit used for voice guidance

Instance Method Summary

Table 2. Instance Methods
Instance Method Summary

-(void) cancelVoiceFeedback

Immediately stops the active voice feedback (if present) and removes any queued feedback

-(NSUInteger) naturalGuidanceMode

The current natural guidance mode used for turn-by-turn navigation.

-(void) playVoiceCommand

Plays the most current voice command if possible

-(NSError *) setLowSpeedOffset:(float) lowSpeedOffset highSpeedOffset:(float) highSpeedOffset speedBoundary:(float) speedBoundary

Set the offset values for the speed warning feature

-( NMANavigationError ) setNaturalGuidanceMode:(NSUInteger) mode

Sets the natural guidance mode for use with turn-by-turn navigation

-( NMANavigationError ) setRoute:( NMARoute *) route

Sets the route used for turn-by-turn navigation

-( NMANavigationError ) setRouteRequestInterval:(NSUInteger) interval

Sets the navigation route request interval

-( NMANavigationError ) setTrafficAvoidanceMode:( NMATrafficAvoidanceMode ) mode

Sets the navigation traffic avoidance behaviour

-(NSError *) startTrackingWithTransportMode:( NMATransportMode ) transportMode

Starts a position tracking navigation session

-(NSError *) startTurnByTurnNavigationWithRoute:( NMARoute *) route

Starts a turn-by-turn navigation session using the specified route

-(void) stop

stop the current navigation started via startTurnByTurnNavigationWithRoute or startTracking

-(NSTimeInterval) timeToArrivalWithTraffic:( NMATrafficPenaltyMode ) mode

Returns the number of seconds that remain to travel to the destination taken into account traffic data, or -DBL_MAX (see float

Class Method Summary

Table 3. Class Methods
Class Methods

+( NMANavigationManager *) sharedNavigationManager

Returns the NMANavigationManager singleton instance

Class Details

NMANavigationManager is a navigation manager class that provides guidance advice and information along a route.

Application developers using this API are required to thoroughly test their applications in all expected usage scenarios to ensure safe and correct behaviour. Application developers are responsible for warning their users of the following obligations:
  1. Do not follow instructions which may lead to an unsafe or illegal situation
  2. Obey all local laws.
  3. Be aware that using a mobile phone or some of its features while driving may be prohibited.
  4. Always keep hands free to operate the vehicle while driving.
  5. First consideration while driving should be road safety.
Note:

NMANavigationManager requires valid authentication credentials to be set via NMAApplicationContext. If valid credentials are not present the API may not function correctly or may stop functioning correctly in the future when server side configurations change.

Public Property Details

[readable, assign] double averageSpeed

Returns the average speed of distance travelled in meters/sec or 0 if it cannot be calculated.

[readable, writable, assign] BOOL backgroundNavigationEnabled

Controls whether navigation is paused when the application is sent to the background.

Defaults to NO (Background navigation is disabled).

When background navigation is enabled navigation will continue to run in the background until completed. If you would like navigation to stop automatically after the device remains stationary in the background for a period of time (15 to 20 minutes) you may need to configure the data source directly. For example, in the case of NMADevicePositionSource:

NMADevicePositionSource* posSource = (NMADevicePositionSource*)[NMAPositioningManager sharedPositioningManager].dataSource;
if([posSource isKindOfClass:[NMADevicePositionSource class]]){
    posSource.locationManager.pausesLocationUpdatesAutomatically = YES;
}

Note that if navigation is stopped in the background, it will not restart automatically.

This property must be set whilst the app is in the foreground. Changing the property whilst the app is in the background may have undefined behaviour and will not reliably enable the background position updates required by navigation.

Note:

The current NMAPositioningManager dataSource must support background position updates in order to navigate in the background. All position data sources supplied with the Here SDK support background position updates. If the current position data source does not support background position updates then background navigation will not work even though this property may be set to YES.

See also:

setBackgroundUpdatesEnabled:

[readable, writable, assign] BOOL backgroundNavigationStartEnabled

Controls whether navigation may be started when the app is in the background.

Defaults to NO (Navigation can not be started in the background and calls to startTurnByTurnNavigationWithRoute: or startTrackingWithTransportMode: will return an error of NMANavigationErrorInvalidOperation).

This property must be set whilst the app is in the foreground. Changing the property whilst the app is in the background may have undefined behaviour and will not reliably enable the background position updates required by navigation.

IMPORTANT: Even with this property set to YES if your app enters the background and then enters the suspended state you may not be able to reliably start navigation in the background if the app resumes background execution without returning to the foreground first (e.g. background execution resumes to "silently" handle a push notification or a file download completing). To guarantee navigation can be started after background suspension you must also call [ NMAPositioningManager startPositioning] in the foreground. This will mean your app will be constantly waking to handle position updates in the background which will have a side effect of consuming more power. Only the combination of explicitly starting NMAPositioningManager and backgroundNavigationStartEnabled==YES will result in positioning constantly running in the background.

Note:

The current NMAPositioningManager dataSource must support background position updates in order to navigate in the background. All position data sources supplied with the Here SDK support background position updates. If the current position data source does not support background position updates then background navigation will not work even though this property may be set to YES.

See also:

backgroundNavigationEnabled

[readable, writable, assign] BOOL beepsEnabled

Determines whether to enable beeps for walk navigation. If set to NO, navigation will be running without beeps.

Note:

beeps is enabled by default.

Note:

voiceEnabled should be YES, in order to this property to take effect.

[readable, assign] NMAManeuvercurrentManeuver

Returns the current (upcoming) maneuver on the route, or nil, if this information is not available because the information is not ready yet, or there are no more maneuvers on the route.

Note:

The currentManeuver property represents the upcoming, or next, maneuver to be taken. The nextManeuver property is actually the maneuver to be taken after the current maneuver.

[readable, writable, weak] id< NMANavigationManagerDelegatedelegate

Receives event callbacks containing information about the current navigation session.

See also:

NMANavigationManagerDelegate

[readable, assign] NMAUint64  distanceFromStart

Returns the distance from route start to the current position in meters, or NMANavigationManagerInvalidValue on error.

[readable, assign] NMAUint64  distanceToCurrentManeuver

Returns the distance from current position to the current (upcoming) maneuver in meters, or NMANavigationManagerInvalidValue on error.

[readable, assign] NMAUint64  distanceToDestination

Returns the distance from current position to the end of route in meters, or NMANavigationManagerInvalidValue on error.

[readable, assign] NMAUint64  distanceToNextManeuver

Returns the distance from current position to the next maneuver AFTER THE CURRENT MANEUVER in meters, or NMANavigationManagerInvalidValue on error.

[readable, writable, assign] NMANavigationAudioEvent  enabledAudioEvents

Enable or disable audio events during navigation.

Safety spot events (NMANavigationAudioEventSafetySpot) are disabled by default.

Note:

In addition to be being enabled some audio events also require access to the operation (permission), see NMANavigationAudioEvent.

[readable, assign] float highSpeedOffset

The current high speed offset in meters/second.

See also:

setLowSpeedOffset:highSpeedOffset:speedBoundary:

[readable, assign] float lowSpeedOffset

The current low speed offset in meters/second.

See also:

setLowSpeedOffset:highSpeedOffset:speedBoundary:

[readable, writable, weak] NMAMapViewmap

The NMAMapView used for the current navigation.

If a map view is specified when navigation is started, that map view will be used to display maneuver arrows (for turn-by-turn navigation) and to track the current position (if mapTrackingEnabled is set to YES).

Note:

Will be nil if no map was specified for the current navigation session.

Note:

Changes made to this property while navigation is active will not be reflected until the next navigation session is started.

[readable, writable, assign] BOOL mapTrackingAutoZoomEnabled

Controls whether the map zoom level is adjusted during navigation map tracking.

If map tracking autozoom is enabled, the zoom level of the map will be adjusted based on the user's current movement speed. For example, the map will zoom out to show more area when the user moves faster, and zoom in again when the user slows down. If autozoom is disabled, the zoom level will be left at whatever it was when navigation began (and it can be manually modified during navigation).

Note:

The default value is YES.

[readable, writable, assign] BOOL mapTrackingEnabled

Allows the NMANavigationManager to automatically update map position as navigation progresses.

Note:

The default value is YES.

[readable, writable, assign] NMAMapTrackingOrientation  mapTrackingOrientation

Determines how the map is oriented during navigation map tracking.

Note:

The default value is NMAMapTrackingOrientationDynamic.

See also:

NMAMapTrackingOrientation

[readable, writable, assign] NMAMapTrackingTilt  mapTrackingTilt

Controls how the map is tilted when map tracking is enabled.

In 2D and 3D modes, the map will automatically be tilted back appropriately when the tilt value is changed. In Custom mode, the tilt will not be changed. Use custom mode to allow the map to be manually tilted during navigation or to set the tilt to a fixed custom value.

Note:

The default value is NMAMapTrackingTilt3D.

[readable, assign] NMANavigationMode  navigationMode

Returns the current mode of the navigation manager.

[readable, assign] NMANavigationState  navigationState

Returns the current state of the navigation related to the tracked route.

Note:

When this property changes, NMANavigationManager sends a notification with the name given by NMANavigationManagerStateChangedNotification.

[readable, assign] NMAManeuvernextManeuver

Returns the next maneuver on the route AFTER THE CURRENT MANEUVER , or nil if there is none.

Note:

The currentManeuver property represents the upcoming, or next, maneuver to be taken. The nextManeuver property is actually the maneuver to be taken after the current maneuver.

[readable, writable, assign] BOOL paused

When set to YES, the current navigation will be paused if any. When set to NO, the current navigation will resume if previously paused. This has no effect if there is no navigation currently in progress.

[readable, writable, assign] NSUInteger realisticViewAspectRatios

A bit mask defining the desired realistic view aspect ratios.

The available aspect ratios are defined by the NMARealisticViewAspectRatio enum. A value of 0 (the default) indicates that no realistic views will be provided.

The realistic view aspect ratios cannot be changed if access to this operation is denied. Contact your HERE representative for more information.

Changes made to this property during active navigation may not be reflected until the next navigation session, so it is recommended to configure the realistic views before starting navigation.

Note:

Performance may be impacted if all supported aspect ratios are requested.

[readable, writable, assign] NMARealisticViewMode  realisticViewMode

Determines the type of realistic views (if any) that are provided during navigation.

If realistic views are enabled, when a realistic view for the current (upcoming) or next maneuver becomes available or unavailable the following callbacks may be issued: navigationManager:didUpdateRealisticViewsForNextManeuver navigationManager:didUpdateRealisticViewsForCurrentManeuver navigationManagerDidInvalidateRealisticViews

The default value is NMARealisticViewOff. If realistic views are enabled, the desired aspect ratios must also be set using the realisticViewAspectRatios property.

The realistic view mode may be changed during active navigation. If it is disabled, a navigationManagerDidInvalidateRealisticViews callback will be sent to inform the delegate to dismiss any realistic views that have previously been displayed.

Similarly, if the realistic view type is changed (e.g. from day to night), the delegate will receive a callback to invalidate the old views followed by callbacks with views of the new type.

The realistic view mode cannot be changed if access to this operation is denied. Contact your HERE representative for more information.

Note:

This feature is only available for turn-by-turn drive navigation.

See also:

NMANavigationManager::realisticViewAspectRatios

[readable, assign] NSUInteger routeRequestInterval

The time that the navigation manager waits between subsequent checks for a faster route.

The route request interval may be set using NMANavigationManager::setRouteRequestInterval.

Note:

This property is only applicable when traffic avoidance is enabled.

See also:

NMANavigationManager::trafficAvoidanceMode

[readable, assign] NMASafetySpotWarnersafetySpotWarner

NMASafetySpotWarner instance providing realtime notifications of safety spots during an active navigation session (NMANavigationStateRunning).

This method returns a nil object if access to this operation is denied. Contact your HERE representative for more information.

[readable, assign] float speedBoundary

The current speed boundary in meters/second.

See also:

setLowSpeedOffset:highSpeedOffset:speedBoundary:

[readable, writable, assign] BOOL speedWarningAudioFeedbackEnabled

Determines whether to enable speed warning audio feedback. If set to YES, speed warnings will be heard during the navigation.

Note:

speedWarningAudioFeedbackEnabled is enabled by default.

[readable, writable, assign] BOOL speedWarningEnabled

Controls whether speed warnings are enabled.

If set, navigationManager:didUpdateSpeedingStatus:forCurrentSpeed:speedLimit: will be sent to the delegate when speeding is detected or when a correction is made.

[readable, assign] NSTimeInterval timeToArrival

Returns the number of seconds that remain to travel to the destination, or -DBL_MAX (see float.h) on error.

Note:

The time interval returned will not include any delays due to traffic

[readable, assign] NMATrafficAvoidanceMode  trafficAvoidanceMode

The current traffic avoidance mode.

See also:

setTrafficAvoidanceMode:

[readable, assign] NMATrafficWarnertrafficWarner

NMATrafficWarner instance providing realtime notifications of traffic flows and events during an active navigation session (NMANavigationStateRunning).

This method returns a nil object if access to this operation is denied. Contact your HERE representative for more information.

[readable, writable, assign] NMATTSOutputFormat  ttsOutputFormat

The TTS text output format.

Default format is raw (pure text without phonemes and escape sequences). This property has effect only when TTS NMAVoicePackage is in use.

See also:

NMANavigationManagerDelegateshouldPlayVoiceFeedbackWithText:::navigationManager:shouldPlayVoiceFeedbackWithText:

[readable, writable, assign] BOOL vibrationEnabled

Determines whether to enable device vibration for walk navigation. If set to NO, navigation will be running without vibration.

Note:

vibration is enabled by default.

Note:

voiceEnabled should be YES, in order to this property to take effect.

[readable, writable, assign] BOOL voiceEnabled

Determines whether to enable navigation voice. If set to NO, navigation will be running without voice commands, (only speed warnings will be heard during the navigation assuming that the speed warnings are enabled).

Note:

navigation voice is enabled by default.

Note:

if you disabled the voice for the walk navigation you will not hear any beeps or vibrations except when you reach your destination you will hear that once.

[readable, writable, assign] NMAVoicePackagevoicePackage

The voice package used for navigation.

The default package is English (US). Setting the voice package to nil restores the default package.

[readable, writable, assign] NMAMeasurementSystem  voicePackageMeasurementSystem

The measure unit used for voice guidance. See NMAMeasurementSystem for possible values. Default is NMAMeasurementSystemMetric.

Note:

Please note that changing this property does not affect all measurements APIs. Only voice guidance will be affected.

Instance Method Details

-(void) cancelVoiceFeedback

Immediately stops the active voice feedback (if present) and removes any queued feedback.

-(NSUInteger) naturalGuidanceMode

The current natural guidance mode used for turn-by-turn navigation.

Returns:

An OR combination of NMANaturalGuidanceOption values which comprise the mode.

-(void) playVoiceCommand

Plays the most current voice command if possible.

Note:

This method will be ignored if a voice command is currently being played.

-(NSError *) setLowSpeedOffset:(float) lowSpeedOffset highSpeedOffset:(float) highSpeedOffset speedBoundary:(float) speedBoundary

Set the offset values for the speed warning feature.

The speeding status of the user is determined by comparing the current speed to the current speed limit with an offset. If the user's speed is greater than the speed limit plus the offset, a speed warning is issued.

To allow different offsets and low and high speeds, a speed boundary is used to divide speed limits into two groups. The low speed offset is then used for speed limits less than the speed boundary, and the high speed offset is used for speed limits greater than the speed boundary.

For example, suppose the low speed offset is 10km/h and the speed boundary is 80km/h. If the speed limit of the current road is 50km/h, the user will be considered speeding at any speed higher than 60km/h and a warning will be issued.

Parameters:

  • lowSpeedOffset

    Offset at low speeds in meters/second.

  • highSpeedOffset

    Offset at high speeds in meters/second.

  • speedBoundary

    Boundary between low and high speeds in meters/second. The lowSpeedOffset is used below this boundary, and the highSpeedOffset is used above it.

Returns:

nil if successful, otherwise an NSError object containing error information.

See also:

speedWarningEnabled

-( NMANavigationError ) setNaturalGuidanceMode:(NSUInteger) mode

Sets the natural guidance mode for use with turn-by-turn navigation.

Natural guidance augments the standard turn-by-turn instructions by providing guidance in a simpler, more intuitive way.

For example, if the NMANaturalGuidanceTrafficLight option is enabled the user will hear instructions similar to "turn right at the next traffic light".

Note:

Natural guidance is disabled by default.

Parameters:

  • mode

    An OR combination of one or more NMANaturalGuidanceOption values. Pass NMANaturalGuidanceOptionNone to disable natural guidance.

Returns:

NMANavigationErrorNone if the natural guidance mode was set successfully, NMANavigationErrorInvalidOperation if the mode could not be set.

See also:

NMANaturalGuidanceOption

-( NMANavigationError ) setRoute:( NMARoute *) route

Sets the route used for turn-by-turn navigation.

Typically, the navigation route should be set once when guidance begins using the startTurnByTurnNavigationWithRoute: method and not changed while guidance is ongoing. However, in some cases a new or better route may be made available during guidance, for example when using the traffic avoidance feature in manual mode. In these cases, this method may be using to update the route during active guidance.

Parameters:

  • route

    The new route navigation manager should use

Returns:

NMANavigationErrorNone if operation was successful, otherwise one of the other error codes in NMANavigationError. Returns NMANavigationErrorInvalidOperation if turn-by-turn guidance is not currently active. Returns NMANavigationErrorInvalidParameters if route is nil or not a car route.

-( NMANavigationError ) setRouteRequestInterval:(NSUInteger) interval

Sets the navigation route request interval.

The route request interval controls how frequently the navigation manager will search for a better route to avoid traffic.

The default value is 300 seconds (5 minutes).

Note:

This value is only applicable when traffic avoidance is enabled.

Parameters:

  • interval

    The route request interval in seconds.

Returns:

NMANavigationErrorNone if operation was successful, otherwise one of the other error codes in NMANavigationError.

-( NMANavigationError ) setTrafficAvoidanceMode:( NMATrafficAvoidanceMode ) mode

Sets the navigation traffic avoidance behaviour.

If the traffic avoidance mode is dynamic, the navigation manager will automatically update the guidance route to avoid traffic events.

If the traffic avoidance mode is manual, the navigation manager delegate will be prompted when a faster route is found and have the option to accept or reject it.

Traffic avoidance is disabled by default.

The traffic avoidance mode cannot be set if access to this operation is denied. Contact your HERE representative for more information.

Note:

: In order to use traffic avoidance mode your device must be online and the traffic data must be downloaded using [ NMATrafficManager requestTrafficOnRoute:] or by enabling traffic visualization on NMAMapView using the trafficVisible property.

Parameters:

  • mode

    The desired NMATrafficAvoidanceMode.

Returns:

NMANavigationErrorNone if the traffic avoidance mode was set successfully, otherwise one of the other error codes in NMANavigationError.

See also:

NMATrafficAvoidanceMode.

-(NSError *) startTrackingWithTransportMode:( NMATransportMode ) transportMode

Starts a position tracking navigation session.

Tracking mode provides a similar experience to turn-by-turn navigation, but without the guidance arrows and voice commands. The NMAMapView instance will be updated to follow the user's position (if mapTrackingEnabled is YES) and speed warnings will be sent to the navigation delegate.

See startTurnByTurnNavigationWithRoute: for more information.

Parameters:

Returns:

nil if successful, otherwise an NSError object with error code indicating the failure reason.

-(NSError *) startTurnByTurnNavigationWithRoute:( NMARoute *) route

Starts a turn-by-turn navigation session using the specified route.

Only one navigation session of any type is allowed at a time. Attempts to start another navigation session when the current navigationState is not NMANavigationStateIdle will fail.

When navigation is started, the NMANavigationManager will automatically update some positioning settings to provide the best experience. This includes the mapMatchMode of NMAPositioningManager (inferred from the transportMode of the route) and the CLLocationManager settings of the NMADevicePositionSource if applicable. Settings are restored to their previous values when navigation is completed.

Public transit navigation is not currently supported.

Navigation requires use of the NMAPositioningManager service; it will be automatically started if it is not already running.

Parameters:

  • route

    The route to navigate.

Returns:

nil if started successfully, otherwise an NSError object with an error code indicating the failure reason. A partial list of the most common reasons is: NMANavigationErrorInvalidOperation - if a navigation session is currently active, if the provided route includes public transit elements, or if the application is currently in the background and backgroundNavigationStartEnabled is set to NO. NMANavigationErrorInvalidParameters - if the route parameter is nil. NMANavigationErrorOperationNotAllowed - if the SDK does not allow this type of navigation, or if access to this operation is denied. Contact your HERE representative for more information.

-(void) stop

stop the current navigation started via startTurnByTurnNavigationWithRoute or startTracking.

-(NSTimeInterval) timeToArrivalWithTraffic:( NMATrafficPenaltyMode ) mode

Returns the number of seconds that remain to travel to the destination taken into account traffic data, or -DBL_MAX (see float.h) on error.

This method returns -DBL_MAX if access to this operation is denied. Contact your HERE representative for more information.

Note:

IMPORTANT: To ensure the time interval returned considers all traffic remaining on the route see the prerequisites described in [ NMARoute ttaWithTraffic]

Parameters:

  • mode

    NMATrafficPenaltyMode used for calculation.

Class Method Details

+( NMANavigationManager *) sharedNavigationManager

Returns the NMANavigationManager singleton instance.

Note:

Use this method to obtain a NMANavigationManager instance. Do not call init directly.

Returns:

shared NMANavigationManager instance

You cannot use this account to purchase a commercial plan on Developer Portal, as it is already associated to plans with different payment methods.

To purchase a commercial plan on Developer Portal, please register for or sign in with a different HERE Account.

Something took longer than expected.

The project should be available soon under your projects page.

Sorry, our services are not available in this region.

Something seems to have gone wrong. Please try again later.

We've detected that your account is set to Australian Dollars (AUD).
Unfortunately, we do not offer checkouts in AUD anymore.
You can continue using your current plan as normal, but to subscribe to one of our new plans,
please register for a new HERE account or contact us for billing questions on selfservesupport@here.com.