Routing API Developer's Guide

RouteRepresentationOptionsType

In many use cases, not all objects and attributes in the route's object model are required at once. The enumeration type RouteRepresentationMode defines which parts of the route are returned by services for standard use cases. Any custom route representation definition besides these predefined modes is possible by using the detailed AttributeType switches (see RouteAttribute, RouteLegAttribute, ManeuverAttribute and RouteLinkAttribute). Parameter representation:

RouteRepresentationModeType

Enumeration Description
overview Overview mode only returns the Route and the RouteSummary object
display Display mode that allows to show the route with all maneuvers. Links won't be included in the response
dragNDrop Drag and Drop mode to be used during drag and drop (re-routing) actions. The response will only contain the shape of the route restricted to the view bounds provided in the representation options.
navigation Navigation mode to provide all information necessary to support a navigation device. This mode activates the most extensive data response as all link information will be included in the response to allow a detailed display while navigating.

RouteId will not be calculated in this mode however, unless it is additionally requested.

linkPaging Paging mode that will be used when incrementally loading links while navigating along the route. The response will be limited to link information.
turnByTurn Turn by turn mode to provide all information necessary to support turn by turn. This mode activates all data needed for navigation excluding any redundancies.

RouteId will not be calculated in this mode however, unless it is additionally requested.

RouteAttributeType

Enumeration Short value Description
waypoints wp Indicates whether via points shall be included in the route.
summary sm Indicates whether a route summary shall be provided for the route.
summaryByCountry sc Indicates whether a country-based route summary shall be provided for the route.
shape sh Indicates whether the shape of the route shall be provided for the route.
boundingBox bb Indicates whether the bounding box of the route shall be provided for the route.
legs lg Indicates whether the legs of the route shall be provided for the route.
notes no Indicates whether additional notes shall be provided for the route.
lines li Indicates whether PublicTransportLines shall be provided for the route.
tickets tx Indicates whether PublicTransportTickets shall be provided for the route.
labels la Indicates whether Labels shall be provided for the route. Labels are useful to distinguish between alternative routes.
routeId ri Indicates whether RouteId shall be calculated and provided for the route. There are cases when RouteId calculation is not possible (e.g. PublicTransport) or fails even though the rest of the route is properly calculated.
groups gr Indicates whether Maneuver Groups should be included in the route. Maneuver Groups are useful for multi modal routes.
incidents ic Indicates whether Incidents on the route shall be provided for the route.
zones zo Indicates whether crossed zones shall be provided for the route.

RouteLegAttributeType

Enumeration Short value Description
waypoint wp Indicates whether the waypoint shall be included in the route leg.
maneuvers mn Indicates whether the maneuvers of the route leg shall be provided.
links li Indicates whether the links along the route leg shall be provided.
Length le Indicates whether the route leg should include its length
travelTime tt Indicates whether the route leg should include its duration
shape sh Indicates whether the shape of the segment to the next maneuver should be included in the maneuvers.
indices ix Indicates whether shape index information (FirstPoint, LastPoint) should be included in the maneuvers instead of copying shape points to the maneuver.
boundingBox bb Indicates whether the bounding box of the maneuver shall be provided.
baseTime bt Indicates whether the BaseTime information should be provided in RouteLegs.
trafficTime tm Indicates whether the TrafficTime information should be included in RouteLegs.
summary sm Indicates whether distance and time summary information should be included in RouteLegs.

ManeuverAttributeType

Enumeration Short value Description
position po Indicates whether the position should be included in the maneuvers.
shape sh Indicates whether the shape of the segment to the next maneuver should be included in the maneuvers.
travelTime tt Indicates whether the time needed to the next maneuver should be included in the maneuvers.
length le Indicates whether the distance to the next maneuver should be included in the maneuvers.
time ti Indicates whether the point in time when the maneuver will take place should be included in the maneuvers.
link li Indicates whether the link where the maneuver takes place shall be included in the maneuver.
publicTransportLine pt Indicates whether the information about the public transport line should be included in the maneuvers.
publicTransportTickets tx Indicates whether the information about the public transport tickets should be included in the maneuvers.
platform pl Indicates whether the platform information for a public transport line should be included in the maneuvers.
roadName rn Indicates whether the road name should be included in the maneuvers.
nextRoadName nr Indicates whether the name of the next road shall be included in the maneuvers.
roadNumber ru Indicates whether the road number should be included in the maneuvers.
nextRoadNumber nu Indicates whether the number of the next road should be included in the maneuvers.
signPost sp Indicates whether the sign post information should be included in the maneuvers.
notes no Indicates whether additional notes should be included in the maneuvers.
action ac Indicates whether actions should be included in the maneuvers.
direction di Indicates whether directions should be included in the maneuvers.
nextManeuver nm Indicates whether a reference to the next maneuver should be included in the maneuvers.
freewayExit fe Indicates whether the freeway exit should be included in the maneuvers.
freewayJunction fj Indicates whether the freeway junction should be included in the maneuvers.
baseTime bt Indicates whether the BaseTime information should be included in the maneuvers. By default, BaseTime information is not included in the maneuvers.
trafficTime tm Indicates whether the TrafficTime information should be included in the maneuvers. By default, TrafficTime information is not included in the maneuvers.
indices ix Indicates whether shape index information (FirstPoint, LastPoint) should be included in the maneuvers instead of copying shape points to the maneuver.
boundingBox bb Indicates whether the bounding box of the route shall be provided for the route.
roadShield rs Indicates whether road shield information should be included in the maneuvers.
startAngle sa Indicates whether start angle information should be included in the maneuvers.
waitTime wt Indicates whether wait time information should be included in public transport maneuvers.
shapeQuality sq Indicates whether information about shape quality should be included in maneuvers.
publicTransportDelays td Indicates whether the delay information should be included in the public transport maneuvers.

RouteLinkAttributeType

PublicTransportLineAttributeType

foreground fg Indicates whether the foreground color shall be included in the line.
background bg Indicates whether the background color of the line shall be provided.
lineStyle ls Indicates whether the line style of the public transport line shall be provided.
companyShortName cs Indicates whether the company short name should be included in the public transport line.
companyLogo cl Indicates whether the company logo should be included in the public transport line.
flags fl Indicates whether the flags should be included in the public transport line.
typeName tn Indicates whether the type name should be included in the public transport line.
lineId li Indicates whether the line Id should be included in the public transport line.
companyId ci Indicates whether the company Id should be included in the public transport line.
systemId si Indicates whether the system Id should be included in the public transport line.
stops st Indicates whether stops should be included in the public transport line.

InstructionFormatType

Representation formats for instruction texts.

  • text returns the instruction as a plain text string

  • html instruction format is based on span tags with different CSS classes to assign semantics to the tagged part of the instruction. For example:
    <span class="junction">AS. Frankfurt-Friedberger Landstr.</span>
Table 1. HTML Instruction CSS Classes
CSS Class Description Example
street road name Lilienweg
city city name Frankfurt
country country name (currently not used.) Germany
direction turn direction text left
junction junction and exit name; in Europe most often used with a junctionname and an exit name; in the US most often only the exit number Bad Homburger Kreuz (17)
sign signpost information Weilburg, Usingen, Oberursel-Oberstedten
number road number A5, E451
heading cardinal directions north
length segment length, including the metric type 5.5 miles
time travel time; used in the last summary instruction 39 min
price toll information (currently not used)  
transit Transit type train
line transit line S5
company Transit line company RMV
arrivalsummary Class to markup summaries in last instructions per leg. The instruction text for this class may include other spans for different classes The trip takes <span class="length">4 miles</span> and <span class="time">10 mins</span>.
distance-description Provides information on travel distances in instruction texts. Go for <span class="length">43 miles</span>
company part of transit line name  
exit roundabout exit number  
next-street name of next street heading towards ...

Examples of HTML with CSS Classes


"Take exit <span class="junction">AS. Frankfurt-Friedberger
Landstr.</span> tothe <span class="direction">left</span> onto
<span class="street">A661</span> towards<span class="sign">Oberursel,
Friedberg, Kassel, Bad Homburg, 661</span>. 
Go for <span class="length">5.5 miles</span>."

Turn <span class="direction">right</span> onto <span
class="street">US-101 South</span> towards 
<span class="sign">Los Angeles</span>. 
Go for <span class="length">30 miles</span>.

Take exit Bad Homburger Kreuz (17) onto A5 towards Kassel, Giessen. 
Go for 20 miles.

<span class="distance-description">Go for 
<span class="length">43 miles</span></span>

Instruction>  Arrive at <span
class="street">Knobelsdorffstraße</span>. <span
class="arrivalsummary">The trip takes <span
class="length">4 miles</span> and <span class="time">10
mins</span>.</span><Instruction>

The trip takes <span class="length">4 miles</span> and <span
class="time">10 mins</span>.