3.1.0 (03-03-2014) Guidance = This interface offers functions that implement the route-guidance functionality of a navigation system GetVersion = This method returns the API version implemented by the server application version = struct(major,minor,micro,date) major = when the major changes, then backward compatibility with previous releases is not granted minor = when the minor changes, then backward compatibility with previous releases is granted, but something changed in the implementation of the API (e.g. new methods may have been added) micro = when the micro changes, then backward compatibility with previous releases is granted (bug fixes or documentation modifications) date = release date (e.g. 21-06-2011) StartGuidance = This method starts the guidance for a given route The guidanceStatus will change to ACTIVE sessionHandle = Session handle. Range[0x0:0x7fffffff]. 0x0 is reserved as an invalid handle value routeHandle = Route handle. Range[0x0:0x7fffffff]. 0x0 is reserved as an invalid handle value StopGuidance = This method stops the guidance The guidanceStatus will change to INACTIVE sessionHandle = Session handle. Range[0x0:0x7fffffff]. 0x0 is reserved as an invalid handle value SetVoiceGuidance = This method switch on/off the voice guidance activation of the voice guidance kind of voice (to be defined) This error is generated if the voice generation is inactive GetGuidanceDetails = This method retrieves guidance information voiceGuidance = if TRUE voice guidance is active vehicleOnTheRoad = if TRUE the vehicle is located on the road network isDestinationReached = if TRUE the destination has been reached maneuver = enum(INVALID,CRUISE,MANEUVER_APPEARED,PRE_ADVICE,ADVICE,PASSED, ... ) PlayVoiceManeuver = This method plays or repeats the last voice guidance This error is generated if the voice generation is inactive GetWaypointInformation = This method retrieves the information on the remaining way points of the route. A point can be the final destination as well as a stage defined by the user. The returned waypoints are ordered by their 'number'. requestedNumberOfWaypoints = the number of requested waypoints. If 0, all waypoints will be returned. numberOfWaypoints = the number of retrieved waypoints(NOTE: the number corresponds to the number of elements in the array) array[struct(waypointOffset,travelTime,direction,side,timeZone,daylightSavingTime,isDestination,number)] waypointOffset = the offset of the way point in meters from the beginning of the route travelTime = time to reach the waypoint in seconds from the current position direction = direction of the way point in degree relatively to the North. Range [0:360] side = enum(LEFT,RIGHT,NOT_AVAILABLE) timeZone = time zone of the way point. It is expressed as the time difference from the UTC in minutes daylightSavingTime = daylight saving time of the way point. It is expressed as the time difference from the UTC in minutes isDestination = if TRUE the way point is the destination number = number of the next waypoint (related to the waypoint list, first way point index is 0) This method retrieves the information on the final destination offset = offset of the destination in meter from the beginning of the route travelTime = time to reach the destination in second direction = direction of the destination in degree relatively to the North. Range [0:360] side = enum(LEFT,RIGHT,NOT_AVAILABLE) timeZone = time zone of the destination. It is expressed as the time difference from the UTC in minutes daylightSavingTime = daylight saving time of the destination. It is expressed as the time difference from the UTC in minutes VehicleLeftTheRoadNetwork = This signal is emitted when the vehicle exits from the road network VehicleReturnedToTheRoadNetwork = This signal is emitted when the vehicle returns to the road network GuidanceStatusChanged = This signal is emitted when the guidance status changes guidanceStatus = enum(INVALID,ACTIVE,INACTIVE) ACTIVE means that NavigationCore is providing guidance information INACTIVE means that NavigationCore is not providing guidance information routeHandle = Active route handle. Range[0x0:0x7fffffff]. 0x0 is reserved as an invalid handle value. Should be ignored when guidanceStatus=INACTIVE. WaypointReached = This signal is emitted when the destination is reached isDestination = flag. TRUE means that the way point is the destination This signal is emitted each time a maneuver event is going maneuver = enum(INVALID,CRUISE,MANEUVER_APPEARED,PRE_ADVICE,ADVICE,PASSED, ... ) PositionOnRouteChanged = This signal is emitted when the position on the route changes offsetOnRoute = the current offset on the route in meters from the beginning of the route GetManeuversList = This method retrieves the list of next maneuvers requestedNumberOfManeuvers = the number of requested maneuvers maneuverOffset = the offset of the first maneuver to retrieve numberOfManeuvers = the number of retrieved maneuvers Note: the number corresponds to the number of elements in the array maneuversList = array[struct(roadShieldsAfterManeuver,countryCodeAfterManeuver,stateCodeAfterManeuver,roadNumberAfterManeuver,roadNameAfterManeuver,roadPropertyAfterManeuver,drivingSide,offsetOfNextManeuver,maneuverDetails)] roadShieldsAfterManeuver = array[struct(roadNumber,affixes,iconSetId)]. A road can have zero or more roadshields. roadNumber= The text of a road number as displayed on a road shield. For example, for a motorway in Germany with the numbers "A40" and "E34", the values are "40" and "E34". This shows that the 'A' is not shown on the shield, but the 'E' is shown. affixes = array[struct(affixType,affixContent)]. A road shield can have zero or more affixes affixType = Type of the affix. enum(AFFIX_NONE,AFFIX_NORTH,AFFIX_EAST,AFFIX_SOUTH,AFFIX_WEST, AFFIX_ALTERNATE,AFFIX_BYPASS,AFFIX_BUSINESS_LOOP,AFFIX_BUSINESS_ROUTE,AFFIX_BUSINESS_SPUR,AFFIX_EXTENDED,AFFIX_COLLECTOR,AFFIX_EXPRESS) affixContent = The textual representation of the affix type. iconSetId = For every road shield a number of icons may be available. There may be icons for high and low density screens, and/or icons with different widths for different text lengths. Such a collection of icons is called an icon set. Opaque data referring to an icon set for the RoadShield. An empty string indicates that no icon set is available. countryCodeAfterManeuver = the ISO 3166‐1 alpha-3 country code (three-letter upper case). stateCodeAfterManeuver = the ISO 3166-2 Subdivision code (e.g., provinces or state) of country (up to three characters). An empty string when absent. roadNumberAfterManeuver = the number of the road after the maneuver (if a road has multiple road numbers, they will be separated by slashes ('/') and combined into one string) roadNameAfterManeuver = the name of the road after the maneuver roadPropertyAfterManeuver = enum(TOLL_ROADS, ... ,DEFAULT) drivingSide = enum(LEFT,RIGHT) offsetOfNextManeuver = the offset of the next maneuver in meters from the beginning of the route (next maneuver is the second maneuver on the route ahead) maneuverDetails = array[struct(offsetOfManeuver,travelTime,direction,maneuver,maneuverData)] offsetOfManeuver = the offset of the current maneuver in meters from the beginning of the route (current maneuver is the first maneuver on the route ahead) travelTime = travel time to the basic maneuver in seconds direction = direction of the maneuver in degree relatively to the North. Range [0:360] maneuver = enum(INVALID,STRAIGHT_ON,TURN,CROSSROAD,ROUNDABOUT,HIGHWAY_ENTER,HIGHWAY_EXIT,BIFURCATION,FOLLOW_SPECIFIC_LANE,DESTINATION,WAYPOINT,ROAD_FORM_CHANGE) maneuverData = array[struct(key, value)] key = enum(LENGTH,DIRECTION,EXIT_NUMBER,ROAD_FORM,LANE_INFO,LATITUDE,LONGITUDE,ALTITUDE) key = LENGTH, value of type 'q', when maneuver=ROUNDABOUT, expresses the length of the route segment between the entry to and the exit from the roundabout key = DIRECTION, value of type 'q', enum(INVALID,STRAIGHT_ON,LEFT,SLIGHT_LEFT,HARD_LEFT,RIGHT,SLIGHT_RIGHT,HARD_RIGHT,UTURN_RIGHT,UTURN_LEFT) key = EXIT_NUMBER, when maneuver=ROUNDABOUT, value of type 'q' that expresses the roundabout exit number when maneuver=HIGHWAY_EXIT, value of type 's' that expresses the highway exit number key = ROAD_FORM, value of type 'q', enum(INVALID,ROAD_REGULAR,ROAD_HIGHWAY_MOTORWAY,ROAD_FERRY) key = LANE_INFO, value of type 'a(uuuq)', array[struct(laneIndex,laneDirections,directionToFollow,divider)] laneIndex = number of the individual lane. Counting starts from zero, beginning at the left-most lane in the direction of travel (independent of the driving side) laneDirections = bitfield where each bit corresponds to a certain direction. A 1-bit indicates that the corresponding part of the lane arrow is drawn in the lane information on the street (see the lane info bitmasks) directionToFollow = bitfield where each bit corresponds to a certain direction. A 1-bit indicates that the corresponding part of the lane arrow matches the direction of the corresponding maneuver (see the lane info bitmasks). At most one bit of this bitmask will be set. The bitmasks are: LANE_INFO_BITMASK_STRAIGHT,LANE_INFO_BITMASK_SLIGHTRIGHT,LANE_INFO_BITMASK_RIGHT,LANE_INFO_BITMASK_SHARPRIGHT,LANE_INFO_BITMASK_RIGHTUTURN,LANE_INFO_BITMASK_SLIGHTLEFT,LANE_INFO_BITMASK_LEFT,LANE_INFO_BITMASK_SHARPLEFT,LANE_INFO_BITMASK_LEFTUTURN divider = indicates the type of divider between the given lane and the next one to the right, in the direction of travel enum(DIVIDER_UNDEFINED,DIVIDER_INTERRUPTEDLONG,DIVIDER_INTERRUPTEDSHORT,DIVIDER_SOLIDSINGLE,DIVIDER_SOLIDDOUBLE,DIVIDER_SOLIDINTERRUPTED,DIVIDER_INTERRUPTEDSOLID) Note: To describe the divider on the left side of the left-most lane, use the following entry in LANE_INFO: (laneIndex=0xffffffff,laneDirections=0x00000000,directionToFollow=0x00000000,divider=type) key = LATITUDE, value = value of type 'd', that expresses the latitude of the starting point in format %3.6f. Range [-90:+90]. Example: 48.053250 key = LONGITUDE, value = value of type 'd', that expresses the longitude of the starting point in format %3.6f. Range [-180:+180]. Example: 8.324500 key = ALTITUDE, value = value of type 'i', that expresses the altitude of the starting point in meters This error is generated in case there's no maneuver until the destination VehicleLeftTheRoute = This signal is emitted when the vehicle has left the route VehicleReturnedToTheRoute = This signal is emitted when the vehicle has returned to the route SetRouteCalculationMode = This method configures the way the navigation application wants the navigation core to behave of reroute trigger sessionHandle = Session handle. Range[0x0:0x7fffffff]. 0x0 is reserved as an invalid handle value routeCalculationMode = enum(INVALID,ALL_MANUAL,ALL_AUTOMATIC,TRAFFIC_MANUAL,OFF_ROUTE_MANUAL) SkipNextManeuver = This method allows to jump behind the current maneuver sessionHandle = Session handle. Range[0x0:0x7fffffff]. 0x0 is reserved as an invalid handle value This error is generated in case there's no maneuver until the destination GetGuidanceStatus = This method retrieves the guidance status guidanceStatus = enum(INVALID,ACTIVE,INACTIVE) ACTIVE means that NavigationCore is providing guidance information INACTIVE means that NavigationCore is not providing guidance information routeHandle = Active route handle. Range[0x0:0x7fffffff]. 0x0 is reserved as an invalid handle value. Should be ignored when guidanceStatus=INACTIVE SetVoiceGuidanceSettings = This method sets the voice guidance settings mode = enum(INVALID,DISABLED_PROMPT,AUTOMATIC_PROMPT,MANUAL_PROMPT, ... ) MANUAL_PROMPT means that a client application can ask the NavigationCore to play the voice prompts AUTOMATIC_PROMPT means that the voice prompts will be requested by NavigationCore automatically DISABLED_PROMPT means that the client application will the voice generator component directly to play the messages (bypassing the NavigationCore) GetVoiceGuidanceSettings = This method returns the used voice guidance settings mode = enum(INVALID,DISABLED_PROMPT,AUTOMATIC_PROMPT,MANUAL_PROMPT, ... ) MANUAL_PROMPT means that a client application can ask the NavigationCore to play the voice prompts AUTOMATIC_PROMPT means that the voice prompts will be requested by NavigationCore automatically DISABLED_PROMPT means that the client application will the voice generator component directly to play the messages (bypassing the NavigationCore) PositionToRouteChanged = This signal is emitted when the vehicle is off-the-road network and either the heading or the distance (or both) to the closest point on the active route changes distance = distance in meters to the closest point on the active route direction = direction in degrees relatively to the closest point on the active route. Range [0:360] ActiveRouteChanged = This signal is emitted when the active route changes changeCause = enum(INVALID,TRAFFIC,OFF_ROUTE,MANUAL,...)