public enum OffRoadTomTomNavigationFactory

Off-road navigation is a unique feature designed for outdoor exploration.

Driving or riding a vehicle on unpaved surfaces such as sand, gravel, riverbeds, mud, snow, rocks, and other natural terrain is called off-roading. Off-road navigation is designed for those areas that aren’t part of the network of roads and highways, where you don’t have a street name, speed limit signs or other road signs. These are paths where traditional road navigation systems are inaccurate.

On normal road navigation, you typically have the current location and a destination in mind. You search for the address, and you get a planned route visualized on the map. The road network data and highway information exist in the system to plan the best possible route while checking for traffic and incidents. With off-road navigation, you must research the terrain and the area you will be traveling. You plan your route while considering any landmarks, trails, or other navigational tools to guide you. After gathering all the necessary data, you can create the route and start navigating it.

The off-road navigation experience differs from traditional navigation; it doesn’t involve visual or audio instructions guiding the driver through the route. When a deviation occurs, the route isn’t replanned; that functionality isn’t possible with the off-road navigation feature. The driver provides the coordinates for planning the route, and there is no information in our system about off-road trails. During navigation, the NavigationRouteTrackingStateUpdateObserver gives the current state if the driver is following the route or deviating from it. For off-road navigation, a custom deviation implementation can be implemented. You can visualize the deviation by drawing a new route line from the current location back to the planned route.

Off-road navigation mode uses specialized engines that create default configurations. The OffRoadMapMatchingEngineFactory factory creates a specific off-road navigation MapMatchingEngine implementation, which matches the raw location to the map. It doesn’t try to match the current area to the road network. The same is true with the OffRoadTomTomNavigationFactory, OffRoadRouteProgressEngineFactory, OffRoadRouteTrackingEngineFactory, and the `OffRoadArrivalDetectionEngineFactory. The rest of the off-road navigation engines have stub implementation, which is required for configuring the navigation.

Creating a Navigation instance example:

let configuration = OffRoadTomTomNavigationFactory.Configuration(locationProvider: DefaultCLLocationProvider())
let tomTomNavigation = OffRoadTomTomNavigationFactory.create(configuration: configuration)


This is a Public Preview API. It may be changed or removed at any time.
  • Creates a TomTomNavigation instance for off-road navigation.

    This factory method returns a TomTomNavigation instance configured to work in off-road mode. The instance can be used to navigate routes imported from GPS Exchange Format (GPX) files.

    Use this method to create a Navigation instance with the necessary off-road Configuration.



    public static func create(configuration: Configuration) -> TomTomNavigation



    configuration with all the needed engines for off-road navigation

    Return Value

    An instance of TomTomNavigation.

  • The configuration used to set up Navigation SDK to work in off-road mode.

    See more



    public struct Configuration