NSDK_Navigation

@interface NSDK_Navigation : NSObject

This class contains all the static functions for accessing the Navigation SDK

  • Initialize the NavigationSDK.

    The first call to the Navigation SDK to create an instance of NavigationSDK. In addition to setting up the Navigation SDK internally there are a number of checks done. The library itself is analyzed and the system. If there is less than 12MB of virtual memory left then NSDK_ErrorCode.NSDK_ERROR_NoMem is returned. If this gets called a second time on an already initalized instance then NSDK_ErrorCode.NSDK_ERROR_AlreadyInitialized is returned and the call has no effect.

    Declaration

    Objective-C

    + (BOOL)initializeWithMapPath:(NSString *)mapPath
                          mapName:(NSString *)mapName
                         addrPath:(NSString *)addrPath
                          appPath:(NSString *)appPath
                            error:(NSError **)error;

    Swift

    class func initialize(withMapPath mapPath: String!, mapName: String!, addrPath: String!, appPath: String!, error: NSErrorPointer) -> Bool

    Parameters

    mapPath

    The physical path to the map files (e.g. /maps/) Don’t forget the trailing path separator.

    mapName

    The name of the map used (e.g. dac or ita_130_eur). Don’t specify a file name with file extension here! May be empty.

    addrPath

    Directory which contains the POI data (.dat and .opm) and the addr.uni (if available). This parameter may be NULL. Even if no path is specified the bmp/ subdirectory within the application’s directory will be searched for bitmaps (.opm).

    appPath

    Directory which contains POI images and fonts.

    error

    contains error information, if an error occured In case the error code is neither NSDK_ErrorCode.NSDK_ERROR_Ok nor NSDK_ErrorCode.NSDK_ERROR_AlreadyInitialized the initialization has failed. E.g. NSDK_ErrorCode.NSDK_ERROR_NoMap is being returned when there was no map to be opened, but nevertheless the SDK itself is initialized now.

    Return Value

    ‘NO’ if an error occured.

  • Release the NavigationSDK instance.

    This function deletes the instance of NavigationSDK. All resources created by the NavigationSDK are released.

    Declaration

    Objective-C

    + (BOOL)finali:(NSError **)error;

    Swift

    class func finali(_ error: NSErrorPointer) -> Bool

    Parameters

    error

    contains error information, if an error occured.

    Return Value

    ‘NO’ if an error occured.

  • Add an additional path to search for map data.

    Declaration

    Objective-C

    + (BOOL)addMapPath:(NSString *)mapPath error:(NSError **)error;

    Swift

    class func addMapPath(_ mapPath: String!, error: NSErrorPointer) -> Bool

    Parameters

    mapPath

    New search path for map data to be added.

    error

    contains error information, if an error occured.

    Return Value

    ‘NO’ if an error occured.

  • Remove an additional path to search for map data.

    Declaration

    Objective-C

    + (BOOL)removeMapPath:(NSString *)mapPath error:(NSError **)error;

    Swift

    class func removeMapPath(_ mapPath: String!, error: NSErrorPointer) -> Bool

    Parameters

    mapPath

    Search path for map data to be removed.

    error

    contains error information, if an error occured.

    Return Value

    ‘NO’ if an error occured.

  • Add an additional path to search for POI data.

    Declaration

    Objective-C

    + (BOOL)addPOIPath:(NSString *)path error:(NSError **)error;

    Swift

    class func addPOIPath(_ path: String!, error: NSErrorPointer) -> Bool

    Parameters

    path

    New search path for POI data to be added. If nil then all paths are removed.

    error

    contains error information, if an error occured.

    Return Value

    ‘NO’ if an error occured.

  • Remove an additional path to search for map data.

    Declaration

    Objective-C

    + (BOOL)removePOIPath:(NSString *)path error:(NSError **)error;

    Swift

    class func removePOIPath(_ path: String!, error: NSErrorPointer) -> Bool

    Parameters

    path

    Search path for map data to be removed.

    error

    contains error information, if an error occured.

    Return Value

    ‘NO’ if an error occured.

  • Searches for a town.

    Searches for a town depending on the name. This is a shortcut for calling searchTown with the mergeTowns parameter set to YES.

    Declaration

    Objective-C

    + (NSDK_SearchResults *)searchTown:(NSDK_SearchRequest *)searchRequest
                                 count:(int)maxResultCount
                                 error:(NSError **)error;

    Swift

    class func searchTown(_ searchRequest: NSDK_SearchRequest!, count maxResultCount: Int32, error: NSErrorPointer) -> NSDK_SearchResults!

    Parameters

    searchRequest

    SearchRequest that contains the information to search for.

    maxResultCount

    maximum number of returned results.

    error

    contains error information, if an error occured.

    Return Value

    The search result or nil if an error occured.

  • Searches for a town.

    Searches for a town depending on the name.

    Declaration

    Objective-C

    + (NSDK_SearchResults *)searchTown:(NSDK_SearchRequest *)searchRequest
                                 count:(int)maxResultCount
                            mergeTowns:(BOOL)oneEntryPerTown
                                 error:(NSError **)error;

    Swift

    class func searchTown(_ searchRequest: NSDK_SearchRequest!, count maxResultCount: Int32, mergeTowns oneEntryPerTown: Bool, error: NSErrorPointer) -> NSDK_SearchResults!

    Parameters

    searchRequest

    SearchRequest that contains the information to search for.

    maxResultCount

    maximum number of returned results.

    oneEntryPerTown

    if set to ‘YES’, only one entry per town is retrieved.

    error

    contains error information, if an error occured.

    Return Value

    The search result or nil if an error occured.

  • Searches for a street.

    Searches for a street depending on the name. A former SearchResult specifying a town must be available.

    Declaration

    Objective-C

    + (NSDK_SearchResults *)searchStreet:(NSDK_SearchRequest *)searchRequest
                                   count:(int)maxResultCount
                        townSearchResult:(NSDK_SearchResult *)townSearchResult
                                   error:(NSError **)error;

    Swift

    class func searchStreet(_ searchRequest: NSDK_SearchRequest!, count maxResultCount: Int32, townSearchResult: NSDK_SearchResult!, error: NSErrorPointer) -> NSDK_SearchResults!

    Parameters

    searchRequest

    SearchRequest that contains the information to search for. Valid parameters for the SearchKind in the searchRequest Parameter are: NSDK_SK_STREETBYNAME for a standard street search NSDK_SK_STREETBYNAME_SORTED for sorting the result by the distance to the town given in the townDescription.

        By specifying SearchRequest.request="*" one may search for all
        streets within a town.
    
    maxResultCount

    Number of the maximum returned results.

    townSearchResult

    Existing SearchResult with town to search in. Whether to do a partial name match.

    error

    contains error information, if an error occured.

    Return Value

    The search result or nil if an error occured.

  • Search for a house number

    Searches for a house number. A former SearchResult specifying a street must be available.

    Declaration

    Objective-C

    + (NSDK_SearchResults *)searchHouseNr:(NSDK_SearchRequest *)searchRequest
                                    count:(int)maxResultCount
                         townSearchResult:(NSDK_SearchResult *)townSearchResult
                       streetSearchResult:(NSDK_SearchResult *)streetSearchResult
                                    error:(NSError **)error;

    Swift

    class func searchHouseNr(_ searchRequest: NSDK_SearchRequest!, count maxResultCount: Int32, townSearchResult: NSDK_SearchResult!, streetSearchResult: NSDK_SearchResult!, error: NSErrorPointer) -> NSDK_SearchResults!

    Parameters

    searchRequest

    SearchRequest that contains the information to search for. Valid parameter for the SearchKind in the searchRequest parameter is: NSDK_SK_HNR

    maxResultCount

    Number of the maximum returned results.

        So far only single house numbers may be searched. If the
        result however contains a range as indicated by the name
        (string) the result is an explicit extrapolation of existing
        data. E.g. the search for the house number "11" may have the
        result string "3-11" to indicate that the closest match
        (numerically!) within the data was house number "3", there is
        no dataset for "11".
    
    townSearchResult

    Existing SearchResult with town to search in.

    streetSearchResult

    Existing SearchResult with street to search in.

    error

    contains error information, if an error occured.

    Return Value

    The search result or nil if an error occured.

  • Searches for a town depending on the postcode. The UK and the Netherlands have special postcode systems which are more complex. Searching one of these special postcodes is done by setting the search kind to SDK_SK_NL6POSTCODE or SDK_SK_UK7POSTCODE. This will trigger a search in special indexes. These two search kinds are only valid if the corresponding map is available and active. If not, an error will be returned. If searching in a UK or NL map with the standard search kind, the search will not take place in the special indexes and may be more inaccurate.

    Declaration

    Objective-C

    + (NSDK_SearchResults *)searchPostcode:(NSDK_SearchRequest *)searchRequest
                                     count:(int)maxResultCount
                                mergeTowns:(BOOL)oneEntryPerTown
                                 majorOnly:(BOOL)majorOnly
                       distinctHouseNumber:(int)distinctHouseNumber
                               isAmbiguous:(BOOL *)isAmbiguous
                                     error:(NSError **)error;

    Swift

    class func searchPostcode(_ searchRequest: NSDK_SearchRequest!, count maxResultCount: Int32, mergeTowns oneEntryPerTown: Bool, majorOnly: Bool, distinctHouseNumber: Int32, isAmbiguous: UnsafeMutablePointer<ObjCBool>!, error: NSErrorPointer) -> NSDK_SearchResults!

    Parameters

    searchRequest

    SearchRequest that contains the information to search for. Valid parameters for searchRequest.SearchKind are: NSDK_SK_TOWNBYPOSTCODE for standard postcode search in all countries, NSDK_SK_NL6POSTCODE for 6 digit postcode search in NL and NSDK_SK_UK7POSTCODE for 7 digit postcode search in the UK

    maxResultCount

    Number of the maximum returned results.

    majorOnly

    Only major cities are considered. Only used in standard postcode search (SearchKind == NSDK_SK_TOWNBYPOSTCODE)

    oneEntryPerTown

    Only one entry per town is found. Only used in standard postcode search (SearchKind == NSDK_SK_TOWNBYPOSTCODE)

    distinctHouseNumber

    House number to get an exacter match of the results, if set to -1, all results for the given postcode will be returned. Only used for NL6 postcodes(SearchKind == NSDK_SK_NL6POSTCODE), standard postcode searches will ignore the number.

    isAmbiguous

    Is set to YES, if result is ambiguous, Only used for NL6 postcodes (SearchKind == SDK_SK_NL6POSTCODE)

    error

    contains error information, if an error occured.

    Return Value

    The search result or nil if an error occured.

  • Search for all intersections of the given street

    Search for all streets which intersects the street from the given street result.

    Declaration

    Objective-C

    + (NSDK_SearchResults *)searchCrossing:(NSDK_SearchRequest *)searchRequest
                                     count:(int)maxResultCount
                        streetSearchResult:(NSDK_SearchResult *)streetSearchResult
                                     error:(NSError **)error;

    Swift

    class func searchCrossing(_ searchRequest: NSDK_SearchRequest!, count maxResultCount: Int32, streetSearchResult: NSDK_SearchResult!, error: NSErrorPointer) -> NSDK_SearchResults!

    Parameters

    searchRequest

    SearchRequest that contains the information to search for. Valid parameters for searchRequest.SearchKind are: SDK_SK_CROSSING

    maxResultCount

    Number of the maximum returned results.

    streetSearchResult

    Existing SearchResult with town and street to search in.

    error

    contains error information, if an error occured.

    Return Value

    The search result or nil if an error occured.

  • Undocumented

    Declaration

    Objective-C

    + (BOOL) NS_SWIFT_NOTHROW destroySearchResult:(int) searchResultHandle error:(NSError**) error;

    Swift

    class func destroySearchResult(_ searchResultHandle: Int32, error: NSErrorPointer) -> Bool
  • Undocumented

    Declaration

    Objective-C

    + (BOOL) NS_SWIFT_NOTHROW destroyPOISearchResult:(int) searchResultHandle error:(NSError**) error;

    Swift

    class func destroyPOISearchResult(_ searchResultHandle: Int32, error: NSErrorPointer) -> Bool
  • Searches for one or more entries in the POI database.

    Declaration

    Objective-C

    + (NSDK_POISearchResults *)searchPOI:(NSDK_POISearchRequest *)searchRequest
                                 layerId:(int)layerId
                                   count:(int)maxResultCount
                                   error:(NSError **)error;

    Swift

    class func searchPOI(_ searchRequest: NSDK_POISearchRequest!, layerId: Int32, count maxResultCount: Int32, error: NSErrorPointer) -> NSDK_POISearchResults!

    Parameters

    searchRequest

    that contains the information to search for.

    layerId

    unique (during runtime) identifier to a POI layer (see getPOILayerCount for more details). If -1 is specified then all layers are being used.

    maxResultCount

    Number of the maximum returned results.

    error

    contains error information, if an error occured.

    Return Value

    The search result or nil if an error occured.

  • Determine the total number of available POI layers.

    POI layers are found in the same path specified by the addrPath parameter of initializeWithMapPath: call.

    To each POI layer an ID between 0 and getPOILayerCount:-1 gets assigned. Use getPOILayerName: and getPOIItemCount: to retrieve more information about the POI layer.

    Declaration

    Objective-C

    + (int)getPOILayerCount;

    Swift

    class func getPOILayerCount() -> Int32

    Return Value

    Number of available POI layers (>=0)

  • Receives the name of a specific POI layer.

    Declaration

    Objective-C

    + (NSString *)getPOILayerNameWithLayerId:(int)layerId error:(NSError **)error;

    Swift

    class func getPOILayerName(withLayerId layerId: Int32, error: NSErrorPointer) -> String!

    Parameters

    layerId

    The ID of the POI layer.

    error

    contains error information, if an error occured.

    Return Value

    the name of the requested layer. And ‘nil’ in case of an error occured

  • Calculate a route/tour. A tour is defined to be a route with one or multiple stations. A tour can contain regular stations and SVP stations. Regular stations are stations which are defined solely by a geo-coordinate. SVP stations are defined by a set of coordinates with directions (and other attributes) which describe a way to get to a destination.

    Calculating a tour to one or to multiple stations is done by the following steps:

    Create a tour object of type NSDK_Tour.

    Add as many stations as wanted to the tour object.

    Call this function to calculate the tour.

    You can also use this function to calculate standard A-B routes by setting only 2 stations in the NSDK_Tour object. In this case, there is also the possibility to calculate alternative routes (up to 3) by calling [NSDK_RouteOptions setRouteCalculationType:] with the value NSDK_ROUTE_ALTERNATIVE. If no alternatives should be calculated, set the parameter to NSDK_ROUTE_CLASSIC.

    When an error in the calculation of a tour section occurs, the returned error code will be set and the tour section which caused the error will be returned.

    Declaration

    Objective-C

    + (int)calculateTour:(NSDK_Tour *)tour
                observer:(id<NSDK_Observer>)observer
                   error:(NSError **)error;

    Swift

    class func calculate(_ tour: NSDK_Tour!, observer: NSDK_Observer!, error: NSErrorPointer) -> Int32

    Parameters

    tour

    the tour which should be calculated

    observer

    optional progress callback

    error

    contains error information, if an error occured. Common error codes are: NSDK_ErrorCode.NSDK_Error_NoMap indicates that one the required maps is missing, this may indicate a missing major road map for cross-border routing. NSDK_ErrorCode.NSDK_Error_OutOfResources indicates that the route can not be calculated with the given routing options. * - returns: the tour section in case of an error occured

  • Set the routing options

    Declaration

    Objective-C

    + (void)setRoutingOptions:(NSDK_RouteOptions *)routeOptions
                        error:(NSError **)error;

    Swift

    class func setRoutingOptions(_ routeOptions: NSDK_RouteOptions!, error: NSErrorPointer)

    Parameters

    routeOptions

    Object with the new routing options to set. If set to nil the default routing options are restored. One may use getRoutingOptions: before calling this method to retrieve the default values.

    error

    contains error information, if an error occured.

  • Retrieve the routing options.

    Declaration

    Objective-C

    + (NSDK_RouteOptions *)getRoutingOptions:(NSError **)error;

    Swift

    class func getRoutingOptions(_ error: NSErrorPointer) -> NSDK_RouteOptions!

    Parameters

    error

    contains error information, if an error occured.

    Return Value

    the routing options or nil if an error occured

  • Retrieve the lorry options

    Declaration

    Objective-C

    + (NSDK_LorryOptions *)getLorryOptions:(NSError **)error;

    Swift

    class func getLorryOptions(_ error: NSErrorPointer) -> NSDK_LorryOptions!

    Parameters

    error

    contains error information, if an error occured.

    Return Value

    the lorry options

  • Set the Lorry options.

    Declaration

    Objective-C

    + (void)setLorryOptions:(NSDK_LorryOptions *)lorryOptions
                      error:(NSError **)error;

    Swift

    class func setLorryOptions(_ lorryOptions: NSDK_LorryOptions!, error: NSErrorPointer)

    Parameters

    lorryOptions

    object to be filled with the new settings. If set to nil the default settings are restored. One may use getLorryOptions: before calling this method to retrieve the default values

    error

    contains error information, if an error occured.

  • Retrieve guidance information for a position on the current routing.

    Guidance information is necessary to interpret actual routing data. Note that this call may change the currently open map within the Navigation SDK!

    Due to the nature of navigation this call may take a while to return. Especially in the case of cross-border routing and if a reroute calculation has to be performed internally. So be prepared for this, e.g. by using the callback parameter. Don’t forget that the SDK is not re-entrant, during this call there is no map rendering, etc. available!

    Declaration

    Objective-C

    + (NSDK_NavigationInformation *)getGuidanceInformation:(NSDK_GPSData *)gpsData
                                                     error:(NSError **)error;

    Swift

    class func getGuidanceInformation(_ gpsData: NSDK_GPSData!, error: NSErrorPointer) -> NSDK_NavigationInformation!

    Parameters

    gpsData

    object with actual GPS information. This argument must not be nil.

    error

    contains error information, if an error occured.

    Return Value

    object that contains all relevant information of the actual routing. Either the GPSPosition or the GPSPositionMerc member is filled. Returns nil if an error occured

  • This function builds and returns a string that can be used for navigation announcements. The navigation information given will be interpreted, decoded and a corresponding sentence will be built. The function only returns a non empty string if the current maneuver situation should be spoken, multiple identical outputs will be avoided. If the returned string is not empty, the announcement is valid and should be spoken or outputted by a player.

    The grammar and the localization of the strings is not done in the function itself. Instead getText: method is called from the given parameter NSDK_StringRetriever to retrieve the correct grammar and sentence portions from outside the SDK. getText: will be called with the ID for the needed string when building the announcement text. This has the great advantage that no localization is needed inside the SDK, the grammar and sentences will all be declared in a separate place and the callee will return the correct portions of the sentence by the callback. The string IDs used for the sentences and the grammar can be found in NSDK_ManeuverTextID. We have mappings for several languages, both for TTS and sound output.

    Declaration

    Objective-C

    + (NSString *)getManeuverText:(NSDK_NavigationInformation *)info
                  stringRetriever:(id<NSDK_StringRetriever>)retriever
                            error:(NSError **)error;

    Swift

    class func getManeuverText(_ info: NSDK_NavigationInformation!, stringRetriever retriever: NSDK_StringRetriever!, error: NSErrorPointer) -> String!

    Parameters

    info

    current navigation information.

    retriever

    object must implement the getText: method of the NSDK_StringRetriever protocol

    error

    contains error information, if an error occured.

    Return Value

    the current announcement string or a string with length 0, if there is no ManeuverText currently

  • Set the maneuver generator settings.

    Declaration

    Objective-C

    + (BOOL)setManeuverGeneratorSettings:
                (NSDK_ManeuverGeneratorSettings *)maneuverSettings
                                   error:(NSError **)error;

    Swift

    class func setManeuverGeneratorSettings(_ maneuverSettings: NSDK_ManeuverGeneratorSettings!, error: NSErrorPointer) -> Bool

    Parameters

    maneuverSettings

    the ManeuverGeneratorSettings

    error

    contains error information, if an error occured.

  • Get the maneuver generator settings.

    Declaration

    Objective-C

    + (NSDK_ManeuverGeneratorSettings *)getManeuverGeneratorSettings:
        (NSError **)error;

    Swift

    class func getManeuverGeneratorSettings(_ error: NSErrorPointer) -> NSDK_ManeuverGeneratorSettings!

    Parameters

    error

    contains error information, if an error occured.

    Return Value

    the current NSDK_ManeuverGeneratorSettings

  • Query the localized string for a distance value

    Declaration

    Objective-C

    + (NSString *)getLocalizedDistanceString:(long)distanceInMeters
                                    quantify:(BOOL)quantify
                                    allowNow:(BOOL)allowNow
                                         now:(NSString *)nowString
                                       error:(NSError **)error;

    Swift

    class func getLocalizedDistanceString(_ distanceInMeters: Int, quantify: Bool, allowNow: Bool, now nowString: String!, error: NSErrorPointer) -> String!

    Parameters

    distanceInMeters

    The distance in meters to convert to a well human readable string for the currently set metric

    quantify

    Flag whether the distance should be quantified to a reasonable value for the current set metric

    allowNow

    If ‘YES’, replace the distance in case of a now maneuver with the string given in nowString

    nowString

    The string to be returned if allowNow is set to ‘YES’ and we have a now maneuver

    error

    contains error information, if an error occured.

    Return Value

    The localized and quantified distance string or ‘nil’ in case of error

  • Query the localized string for a distance value

    Declaration

    Objective-C

    + (NSString *)getLocalizedDistanceString:(long)distanceInMeters
                                    quantify:(BOOL)quantify
                                       error:(NSError **)error;

    Swift

    class func getLocalizedDistanceString(_ distanceInMeters: Int, quantify: Bool, error: NSErrorPointer) -> String!

    Parameters

    distanceInMeters

    The distance in meters to convert to a well human readable string for the currently set metric

    quantify

    Flag whether the distance should be quantified to a reasonable value for the current set metric

    error

    contains error information, if an error occured.

    Return Value

    The localized and quantified distance string or ‘nil’ in case of error

  • Start an asynchronous search for traffic information

    This call triggers an asynchronous call to a traffic REST service, hosted by PTV. An API Key has to be provided

    The search will be around the current route or around the given position, dependend if there is a current route or not. Because the search will be started in a separate thread, the function call returns immediately.

    An observer is used to get information if the search succeeded or not. The caller has to subclass the NSDK_Observer class and must override the onFinished: method of it to get informed when the search has finished.

    The traffic incidents can be retrieved by calling getTrafficSearchResults

    Declaration

    Objective-C

    + (BOOL)searchTrafficInformationWithPosition:(NSDK_Position *)position
                                        observer:(id<NSDK_Observer>)observer
                                           error:(NSError **)error;

    Swift

    class func searchTrafficInformation(with position: NSDK_Position!, observer: NSDK_Observer!, error: NSErrorPointer) -> Bool

    Parameters

    position

    The geodecimal position from where to search from (if a route is available, the search will be done around the route and this parameter is ignored).

    observer

    The onFinished: method of the observer will be called when the search has finished (must be implemented by the caller).

    error

    contains error information, if an error occured.

  • get traffic information result which has been retrieved before through the searchTrafficInformationWithPosition: call

    Declaration

    Objective-C

    + (NSArray<NSDK_TrafficSearchResult *> *)getTrafficSearchResults:
        (NSError **)error;

    Swift

    class func getTrafficSearchResults(_ error: NSErrorPointer) -> [NSDK_TrafficSearchResult]!

    Parameters

    error

    contains error information, if an error occured.

    Return Value

    array of NSDK_TrafficSearchResult or ‘nil’ in case of error

  • Convenience function that calls getRouteInformationWithRouteIndex:alternative:error: with routeIndex ‘0’ and alternative ‘0’

    Declaration

    Objective-C

    + (NSDK_RouteInformation *)getRouteInformation:(NSError **)error;

    Swift

    class func getRouteInformation(_ error: NSErrorPointer) -> NSDK_RouteInformation!
  • Convenience function that calls getRouteInformationWithRouteIndex:alternative:error: with routeIndex ‘0’ and the given alternative

    Declaration

    Objective-C

    + (NSDK_RouteInformation *)getRouteInformationWithAlternative:(int)alternative
                                                            error:(NSError **)error;

    Swift

    class func getRouteInformation(withAlternative alternative: Int32, error: NSErrorPointer) -> NSDK_RouteInformation!
  • Return general information, like length, duration and toll, about one route of several alternative routes. The first routes’ number is 0, the next alternatives number is 1 and so on. The total number of route alternatives can be retrieved via getAlternativeRouteCount:.

    Declaration

    Objective-C

    + (NSDK_RouteInformation *)getRouteInformationWithRouteIndex:(int)routeIndex
                                                     alternative:(int)alternative
                                                           error:(NSError **)error;

    Swift

    class func getRouteInformation(withRouteIndex routeIndex: Int32, alternative: Int32, error: NSErrorPointer) -> NSDK_RouteInformation!

    Parameters

    routeIndex

    the index of the route about which to return the route information for a multi station tour. This value is ignored if no multi station tour is calculated. In the case of a multi station tour ‘-1’ will return the accumulated route information over all routes. ‘0’ returns the route information of the current route. ‘1’ returns the route information of the first inactive route, ‘2’ returns the route information of the second inactive route, and so on.

    alternative

    the index of the route alternative. If alternative route calculation is not activated or the routeIndex parameter is not set to the current route (routeIndex == 0) this parameter will be ignored.

    Return Value

    the route information for the route / tour

  • Get information about the traffic delay on the route (for the whole route or from the current position to the end of the route).

    Declaration

    Objective-C

    + (int)getTrafficDelayOnRouteWithCompleteRoute:(BOOL)completeRoute
                                alternativeRouteId:(int)alternativeRouteIndex
                                             error:(NSError **)error;

    Swift

    class func getTrafficDelayOnRoute(withCompleteRoute completeRoute: Bool, alternativeRouteId alternativeRouteIndex: Int32, error: NSErrorPointer) -> Int32

    Parameters

    completeRoute

    If set to YES, the delay on the whole route will be returned, otherwise, the delay from the current position on (in this case, a navigation must have been started to get the delay, if not, 0 will be returned).

    alternativeRouteIndex

    The index of the corresponding alternative route. Set to 0 if you dont use alternative routes.

    error

    contains error information, if an error occured.

    Return Value

    The current delay on route in seconds or 0, if no route is given.

  • Get the number of alternative routes including the default or original route.

    Declaration

    Objective-C

    + (int)getAlternativeRouteCount:(NSError **)error;

    Swift

    class func getAlternativeRouteCount(_ error: NSErrorPointer) -> Int32

    Parameters

    error

    contains error information, if an error occured.

    Return Value

    The number of alternative routes.

  • Get the current active route alternative.

    Declaration

    Objective-C

    + (int)getAlternativeRouteActive:(NSError **)error;

    Swift

    class func getAlternativeRouteActive(_ error: NSErrorPointer) -> Int32

    Parameters

    error

    contains error information, if an error occured.

    Return Value

    The index of the current alternative route.

  • Set the given route as the active route (use getAlternativeRouteCount: to get the number of alternative routes available.) The active route will be highlighted in the map view, while the other alternative routes will get greyed out.

    Declaration

    Objective-C

    + (void)setAlternativeRouteActive:(int)alternative error:(NSError **)error;

    Swift

    class func setAlternativeRouteActive(_ alternative: Int32, error: NSErrorPointer)

    Parameters

    alternative

    The index of the alternative route to highlight.

  • Returns the number of maps which are currently under control of NavigationSDK.

    Declaration

    Objective-C

    + (int)getMapCount;

    Swift

    class func getMapCount() -> Int32

    Return Value

    The number of available maps.

  • Undocumented

    Declaration

    Objective-C

    + (NSDK_MapInformationResults*) getAvailableMaps;

    Swift

    class func getAvailableMaps() -> NSDK_MapInformationResults!
  • Returns detailed information about a map.

    Hint: A couple of fields inside the returned NSDK_MapInformation object is not filled, if the map is currently closed.

    Declaration

    Objective-C

    + (NSDK_MapInformation *)getMapInformation:(int)idx error:(NSError **)error;

    Swift

    class func getMapInformation(_ idx: Int32, error: NSErrorPointer) -> NSDK_MapInformation!

    Parameters

    idx

    Parameter to identify the map. (valid range from 0 to [NSDK_Navigation getMapCount:] - 1). A value of -1 returns information about the current map

    error

    contains error information, if an error occured.

    Return Value

    The Map Information or ‘nil’ in case of an error.

  • Switches to another map.

    Attention: Calling this during a navigation takes place may cause the Navigation SDK to crash

    Declaration

    Objective-C

    + (BOOL)changeMap:(int)idx error:(NSError **)error;

    Swift

    class func changeMap(_ idx: Int32, error: NSErrorPointer) -> Bool

    Parameters

    idx

    Parameter to identify the map. (valid range from 0 to [NSDK_Navigation getMapCount:] - 1).

    error

    contains error information, if an error occured.

  • Create an image that shall be rendered in the current map

    Declaration

    Objective-C

    + (int)addImage:(NSString *)bitmapName
             center:(NSDK_Position *)center
              error:(NSError **)error;

    Swift

    class func addImage(_ bitmapName: String!, center: NSDK_Position!, error: NSErrorPointer) -> Int32

    Parameters

    bitmapName

    Path to a bitmap. The bitmap has be included in the bundle of the iOS app.

    center

    The coordinates of the center (Mercator)

    error

    contains error information, if an error occured.

    Return Value

    A unique image id, or -1 in case of error.

  • Position image

    Declaration

    Objective-C

    + (void)positionImage:(int)imageId
                   center:(NSDK_Position *)center
                    error:(NSError **)error;

    Swift

    class func positionImage(_ imageId: Int32, center: NSDK_Position!, error: NSErrorPointer)

    Parameters

    imageId

    valid image id, which has been returned by ‘addImage:’ call

    center

    The coordinates of the center (Mercator).

    error

    contains error information, if an error occured.

  • Delete image.

    Declaration

    Objective-C

    + (void)deleteImage:(int)imageId error:(NSError **)error;

    Swift

    class func deleteImage(_ imageId: Int32, error: NSErrorPointer)

    Parameters

    imageId

    Valid image id.

    error

    contains error information, if an error occured.

  • Delete all images

    Declaration

    Objective-C

    + (void)deleteImages:(NSError **)error;

    Swift

    class func deleteImages(_ error: NSErrorPointer)

    Parameters

    error

    contains error information, if an error occured.

  • Converts the heading from the following format: North = 0 and clockwise orientation.

    into the SDK format: East = 0 and counter clockwise orientation.

    Declaration

    Objective-C

    + (short)convertGeoHeading:(int)heading;

    Swift

    class func convertGeoHeading(_ heading: Int32) -> Int16

    Parameters

    heading

    the heading in input format

    Return Value

    the heading in SDK format

  • Create a GPS simulation file for the most recent calculated route.

    Declaration

    Objective-C

    + (void)createGPSSimulationWithPath:(NSString *)path error:(NSError **)error;

    Swift

    class func createGPSSimulation(withPath path: String!, error: NSErrorPointer)

    Parameters

    path

    Path of file to be created. The file must be writable. For further information have a look at the tutorial documentation.

    error

    contains error information, if an error occured.

  • Undocumented

    Declaration

    Objective-C

    + (void) NS_SWIFT_NOTHROW simulateTrafficWithPath:(NSString*) path error:(NSError**) error;

    Swift

    class func simulateTraffic(withPath path: String!, error: NSErrorPointer)
  • Set the auto zoom scales for the given speeds for tracking and navigation mode. The auto zoom uses in non maneuver situations the current velocity and the velocity of the current road segment to determine the scale value. There are five speed values at which the scale changes. Each speed value has a correspondent scale value in 2d and 3d.

    Declaration

    Objective-C

    + (void)setAutoZoomSpeedScales:(BOOL)trackingMode
                    marginalSpeeds:(NSArray<NSNumber *> *)marginalSpeeds
                     scaleFactor2d:(NSArray<NSNumber *> *)scaleFactor2d
                     scaleFactor3d:(NSArray<NSNumber *> *)scaleFactor3d
                             error:(NSError **)error;

    Swift

    class func setAutoZoomSpeedScales(_ trackingMode: Bool, marginalSpeeds: [NSNumber]!, scaleFactor2d: [NSNumber]!, scaleFactor3d: [NSNumber]!, error: NSErrorPointer)

    Parameters

    trackingMode

    If set to ‘YES’, set the tracking speeds and scales, else the navigation speeds and scales will be set

    marginalSpeeds

    The speeds at which the scale should change

    scaleFactor2d

    The scales for the MarginalSpeeds in 2d

    scaleFactor3d

    The scales for the MarginalSpeeds in 3d

    error

    contains error information, if an error occured.

  • Set the auto zoom scale margins in 2d and 3d. This function sets the minimum and the maximum zoom level the auto zoom can get when zooming is caused by a maneuver. There are two minimum levels for 2d and two minimum levels for 3d. The minZoomSlow2d/minZoomSlow3d will be the lowest scale the auto zoom can reach in a maneuver zoom in 2d/3d if the velocity is lower than 72 km/h. If the velocity is equal or higher than 72 km/h, the values of minZoomFast2d/minZoomFast3d will be used as minimum. The maxZoom2d/maxZoom3d values are the upper limit of the auto zoom in maneuver mode.

    Declaration

    Objective-C

    + (void)setAutoZoomScaleMargins:(int)minZoomSlow2d
                      minZoomFast2d:(int)minZoomFast2d
                          maxZoom2d:(int)maxZoom2d
                      minZoomSlow3d:(int)minZoomSlow3d
                      minZoomFast3d:(int)minZoomFast3d
                          maxZoom3d:(int)maxZoom3d
                              error:(NSError **)error;

    Swift

    class func setAutoZoomScaleMargins(_ minZoomSlow2d: Int32, minZoomFast2d: Int32, maxZoom2d: Int32, minZoomSlow3d: Int32, minZoomFast3d: Int32, maxZoom3d: Int32, error: NSErrorPointer)

    Parameters

    minZoomSlow2d

    Minimum zoom level for velocities < 72 km/h in maneuver zoom (2d)

    minZoomFast2d

    Minimum zoom level for velocities >= 72 km/h in maneuver zoom (2d)

    maxZoom2d

    Maximum zoom level in maneuver zoom (2d)

    minZoomSlow3d

    Minimum zoom level for velocities < 72 km/h in maneuver zoom (3d)

    minZoomFast3d

    Minimum zoom level for velocities >= 72 km/h in maneuver zoom (3d)

    maxZoom3d

    Maximum zoom level in maneuver zoom (3d)

    error

    contains error information, if an error occured.

  • Set the auto zoom linear approximation stepping values To avoid jumping in or out while zooming, the auto zoom will add or substract at each call to SDK_DoAutoZoom() a stepping value to the current scale until the calculated scale will be reached. The default steppings are 1 for stepping out and 30 for stepping in (for 4 times calling the function per second).

    Declaration

    Objective-C

    + (void)setAutoZoomSteppingValues:(float)stepOut
                               stepIn:(float)stepIn
                                error:(NSError **)error;

    Swift

    class func setAutoZoomSteppingValues(_ stepOut: Float, stepIn: Float, error: NSErrorPointer)

    Parameters

    stepOut

    Incremental scale value for stepping out, default is 1

    stepIn

    Incremental scale value for stepping in, default is 30

    error

    contains error information, if an error occured.

  • Retrieve a simplified arrow representation for the given maneuver situation

    Declaration

    Objective-C

    + (NSDK_ManeuverArrow)getManeuverArrow:(NSDK_ManeuverDescription *)description
                                  crossing:(NSDK_CrossingView *)crossing
                                     error:(NSError **)error;

    Swift

    class func getManeuverArrow(_ description: NSDK_ManeuverDescription!, crossing: NSDK_CrossingView!, error: NSErrorPointer) -> NSDK_ManeuverArrow

    Parameters

    description

    the description of the Maneuver

    crossing

    information about the next crossing

    Return Value

    the corresponding arrow enum

  • Start tracking mode

    The tracking mode should be used if there is no need for navigation any longer. Any internal data about navigation will be cleared. Calls to NSDK_UIMapView#setCenterWithPosition to adjust the map position result in setting the most suitable map, so there’s always the best map available!. Since switching maps may not be always the intent of the user this mode can be switched off. There is no need to stop this mode prior to calculating a new route and starting navigation afterwards.

    Declaration

    Objective-C

    + (void)trackingMode:(BOOL)enable error:(NSError **)error;

    Swift

    class func trackingMode(_ enable: Bool, error: NSErrorPointer)

    Parameters

    enable

    If set to YES activate the map tracking mode, otherwise deactivate

  • Undocumented

    Declaration

    Objective-C

    + (int) NS_SWIFT_NOTHROW transformCountryCodeToPtvCode:(NSDK_CountryCodeFormat) sourceFormat countryCode:(NSString*) cc error:(NSError**) error;

    Swift

    class func transformCountryCode(toPtvCode sourceFormat: NSDK_CountryCodeFormat, countryCode cc: String!, error: NSErrorPointer) -> Int32
  • Undocumented

    Declaration

    Objective-C

    + (NSString*) NS_SWIFT_NOTHROW transformPtvCodeToCountryCode:(NSDK_CountryCodeFormat) destinationFormat ptvCode:(int) ptvCode error:(NSError**) error;

    Swift

    class func transformPtvCode(toCountryCode destinationFormat: NSDK_CountryCodeFormat, ptvCode: Int32, error: NSErrorPointer) -> String!
  • Undocumented

    Declaration

    Objective-C

    + (void) NS_SWIFT_NOTHROW loadVehicleProfile:(NSString*) filePath error:(NSError**) error;

    Swift

    class func loadVehicleProfile(_ filePath: String!, error: NSErrorPointer)
  • Undocumented

    Declaration

    Objective-C

    + (NSString*) NS_SWIFT_NOTHROW getProfileName:(NSString*) filePath countryCode:(NSString*) cc error:(NSError**) error;

    Swift

    class func getProfileName(_ filePath: String!, countryCode cc: String!, error: NSErrorPointer) -> String!
  • Undocumented

    Declaration

    Objective-C

    + (void) NS_SWIFT_NOTHROW setTrafficSearchWebConfiguration:(NSString*) url token:(NSString*) token error:(NSError**) error;

    Swift

    class func setTrafficSearchWebConfiguration(_ url: String!, token: String!, error: NSErrorPointer)
  • Refresh the traffic traces and the traffic icons on the map.

    Declaration

    Objective-C

    + (void)refreshTrafficTracesAndIcons:(BOOL)showIconsOnlyOnRoute
                                   error:(NSError **)error;

    Swift

    class func refreshTrafficTracesAndIcons(_ showIconsOnlyOnRoute: Bool, error: NSErrorPointer)

    Parameters

    showIconsOnlyOnRoute

    If set to true, only traffic incidents on the route will show an icon, otherwise all traffic icons will be shown.

    error

    contains error information, if an error occured.

  • Remove manually the traffic traces from the last traffic search. Traffic traces will be removed and rerendered automatically when [NSDK_Navigation searchTrafficInformationWithPosition:] was executed successfully. This interface is for clearing the traces manually, for instance, if the traffic search will not be needed anymore.

    Declaration

    Objective-C

    + (void)removeTrafficTraces:(NSError **)error;

    Swift

    class func removeTrafficTraces(_ error: NSErrorPointer)

    Parameters

    error

    contains error information, if an error occured.

  • Retrieve version of current supported major API set.

    Declaration

    Objective-C

    + (NSDK_Version *)getAPIVersion:(NSError **)error;

    Swift

    class func getAPIVersion(_ error: NSErrorPointer) -> NSDK_Version!

    Parameters

    error

    contains error information, if an error occured.

    Return Value

    the version information

  • Retrieve the route trace ahead from the current position to either the next station or the end of the route.

    Declaration

    Objective-C

    + (NSArray<NSDK_Position *> *)getRouteTraceAhead:(Boolean)onlyToNextStation
                                               error:(NSError **)error;

    Swift

    class func getRouteTraceAhead(_ onlyToNextStation: Bool, error: NSErrorPointer) -> [NSDK_Position]!

    Parameters

    onlyToNextStation

    if set to ‘YES’, return the trace from the current position to the next station

    error

    contains error information, if an error occured.

    Return Value

    trace for the current route. If there’s no current route ‘nil’ is returned

  • Return the route traces of a tour or an A-B routing. If a tour was calculated, the traces between the different stations will be returned. If the calculation was a normal A-B routing, one trace will be returned.

    Declaration

    Objective-C

    + (NSArray<NSArray<NSDK_Position *> *> *)getRouteTraces:(NSError **)error;

    Swift

    class func getRouteTraces(_ error: NSErrorPointer) -> [[NSDK_Position]]!

    Parameters

    error

    contains error information, if an error occured.

    Return Value

    Array of traces

  • Check whether a given position is in a tunnel.

    This method automatically activates the GPS position extrapolator if the position was detected to be in a tunnel. Note that you have to use the extrapolated coordinates stored in ‘[NSDK_GPSData getExtraPolatedPos]’ as long as the extrapolation is active.

    Declaration

    Objective-C

    + (BOOL)checkIfTunnel:(NSDK_NavigationInformation *)navigationInformation
                  gpsData:(NSDK_GPSData *)gpsData
                    error:(NSError **)error;

    Swift

    class func checkIfTunnel(_ navigationInformation: NSDK_NavigationInformation!, gpsData: NSDK_GPSData!, error: NSErrorPointer) -> Bool

    Parameters

    navigationInformation

    the NavigationInformation

    gpsData

    object with actual GPS information.

    error

    contains error information, if an error occured.

    Return Value

    whether the given position is in a tunnel.

  • Returns the map respectively to that position.

    If there is more than a single map available for that given position, the map with the highest priority will be returned.

    Declaration

    Objective-C

    + (int)getMapByPosition:(NSDK_Position *)position error:(NSError **)error;

    Swift

    class func getMapBy(_ position: NSDK_Position!, error: NSErrorPointer) -> Int32

    Parameters

    error

    contains error information, if an error occured.

    Return Value

    The found map index for the given position (>=0) or -1 if an error occured

  • Returns the number of maneuver stop-off points of a calculated route.

    Declaration

    Objective-C

    + (int)getManeuverCount:(int)listMode error:(NSError **)error;

    Swift

    class func getManeuverCount(_ listMode: Int32, error: NSErrorPointer) -> Int32

    Parameters

    listMode

    ListMode The list mode of the result. Valid values are: 0 = only the navigation relevant maneuver stop-off points will be returned 1 = all maneuver stop-off points on the route will be returned

    Return Value

    Number of stop-off points or -1 if an error occured

  • Do a simple geocoding.

    Geocoding delivers a coordinate from the given address. Fill the Address object with the address information. The function geocodes the given address and return the result.

    Declaration

    Objective-C

    + (NSDK_GeoCodeResult *)geoCode:(NSDK_Address *)searchAddress
                              error:(NSError **)error;

    Swift

    class func geoCode(_ searchAddress: NSDK_Address!, error: NSErrorPointer) -> NSDK_GeoCodeResult!

    Parameters

    searchAddress

    address to search for.

    error

    contains error information, if an error occured. In case of no address match error.code=NSDK_ERROR_NoResultFound is set

    Return Value

    the result of the geocoding or nil if there was no match

  • Do an inverse geocoding.

    Inverse geocoding delivers a postal address for a given coordinate.

    Note that there is not always a precise or even unique result. Also note that this may be a very time-consuming task because a lot of data has to be looked up for inverse references.

    Declaration

    Objective-C

    + (NSDK_GeoCodeResult *)inverseGeoCode:(NSDK_Position *)pos
                                     error:(NSError **)error;

    Swift

    class func inverseGeoCode(_ pos: NSDK_Position!, error: NSErrorPointer) -> NSDK_GeoCodeResult!

    Parameters

    pos

    (Mercator coordinate) to be geocoded

    error

    contains error information, if an error occured.

    Return Value

    result of the geocoding or nil if there was no match

  • Interface to activate/deactivate POI layers for rendering within the map.

    Declaration

    Objective-C

    + (void)showPOILayer:(int)layerId show:(BOOL)show error:(NSError **)error;

    Swift

    class func showPOILayer(_ layerId: Int32, show: Bool, error: NSErrorPointer)

    Parameters

    layerId

    The ID of the POI layer.

    show

    Use ‘YES’ to activate POI layer rendering on the map, ‘NO’ to disable

    error

    contains error information, if an error occured.

  • Determine the number of POIs stored in a specific layer.

    Declaration

    Objective-C

    + (int)getPOIItemCount:(int)layerId error:(NSError **)error;

    Swift

    class func getPOIItemCount(_ layerId: Int32, error: NSErrorPointer) -> Int32

    Parameters

    layerId

    The ID of the POI layer.

    error

    contains error information, if an error occured.

    Return Value

    The number of POIs stored in the layer or ‘-1’ in case of an error occured.

  • Receives the id of a specific POI layer.

    Declaration

    Objective-C

    + (int)getPOILayerByName:(NSString *)layer error:(NSError **)error;

    Swift

    class func getPOILayer(byName layer: String!, error: NSErrorPointer) -> Int32

    Parameters

    layer

    the name of the requested layer

    error

    contains error information, if an error occured.

    Return Value

    The ID of the POI layer or ‘-1’ in case of an error occured