Open Guidance API

GET
Route

Resource URL

http://open.mapquestapi.com/guidance/v2/route

Resource Information

Response Formats JSON
Authentication Yes (Requires Key)
Rate Limited Yes

Request Parameters

Request Parameter Description Required?
key
String
The API Key, which is needed to make requests to MapQuest services. Yes
from
Location

When the input format is key/value pairs, the starting location of a Guidace Request. Exactly one from parameter is allowed.

Yes
to
Location
When the input format is key/value pairs, the ending location(s) of a Guidance Request. More than one to parameter may be supplied. Yes
callback A JavaScript function name. The JSON-formatted response will be wrapped in a call to the supplied callback function name to provide JSONP functionality. This functionality might be needed to do cross-site scripting. See the Wikipedia.org entry for JSON for more details. No

Advanced Parameters

Request Parameter Description Required?
unit
String
Specifies the type of units to use when calculating distance. Acceptable values are:
  • m: Miles
  • k: Kilometers
Default: m
No
routeType
String
Specifies the rtpe of route wanted. Acceptable values are:
  • fastest: Quickest drive time route
  • shortest: Shortest driving distance route
  • pedestrian: Walking route; Avoids limited access roads; Ignores turn restrictions
  • bicycle: Bike route; Avoids limited access roads; Avoids roads where bicycle access is false; Favors bike specific paths and lower maxspeed roads
  • multimodal: Combination of walking and (if available) public transit
Default: fastest
No
narrativeType
String
Specifies the type of narrative to generate. Currently only text is supported.
  • none: No narrative is generated
  • text: Standard text narrative
  • html: Adds some HTML tags to the standard text
  • microformat: Uses HTML span tags with the class attributes to allow parts of the narrative to be easily styled via CSS. For more information, please see our Narrative Microformat documentation.
Default: text
No
avoids
String collection
Attribute flag of roads to try to avoid. The available attribute flags depend on the data set. This does not guarantee roads with these attributes will be avoided if alternate route paths are too lengthy or not possible or roads that contain these attributes are very short. Available choices:
  • Limited Access (highways)
  • Toll Road
  • Ferry
  • Unpavedd
  • Approximate Seasonal Closure (Seasonal roads may not be selected with 100% accuracy)
  • Country Border Crossing
No
shapeFormat Shape format options.
  • raw: shape is represented as float pairs
  • cmp6: shape is represented as a compressed path string with 6 digits of precision
No
direction

Provides an initial compass direction of travel to favor when generating the route.

If the direction < 0, then no direction is favored.

If the direction >= 0, then the calculated route will attempt to follow the given direction at the beginning of the route.

No
avoidManeuverDuration

Provides a duration in seconds starting from the beginning of the route in which the route is to continue on the current road (i.e. avoid performing any maneuvers that lead the user off of the current road).

If the avoidManeuverDuration < 0 then no duration is used.

If the 0 <= avoidManeuverDuration <= 300 then the calculated route will attempt to continue on the current road for the given duration at the beginning of the route.

If the avoidManeuverDuration > 300 then a duration of 300 seconds is used for the route calculation.

No

Date/Time Options

This is an extension of the Advanced Guidance Options that allows the user to specify a date and time when generating a route. The Date/Time Options will effect routes that contain roads that are HOV at specific times, have timed-turned restrictions, or have seasonal or specific day of the week closures.

Request Parameter Description Required?
timeType
Integer
Specifies the time type to use. Acceptable values are:
  • 0: None (no date/time options will be used)
  • 1: Current (uses the current date/time when generating a route)
  • 2: Start At (may specify a specific date/time or day of the week to use when generating a route)
Default: 0
No
dateType
Integer
Specifies the time type to use. Acceptable values are:
  • 0: Specific Date & Time
  • 1: Sunday
  • 2: Monday
  • 3: Tuesday
  • 4: Wednesday
  • 5: Thursday
  • 6: Friday
  • 7: Saturday
Default: 0
No
isoLocal

If timeType is 0 or 1 , or if dateType is 1-7 ,this option will be ignored.

If dateType is 0 , this is an optional parameter.

The user has the choice of entering date/time in the ISO 8601 format YYY-MM-DDThh:mm or may enter as individual parameters by using the month, day, year, and localTime fields that are listed below.

Default isoLocal is the current date and time.

No (see description)
date

The format for date is MM/DD/YYYY. If timeType is 0 or 1 , or if dateType is 1-7 ,this option will be ignored.

If dateType is 0 and isoLocal is null, this parameter must be used. MM specifies the month of year. Acceptable values are:

  • 01: January
  • 02: February
  • 03: March
  • 04: April
  • 05: May
  • 06: June
  • 07: July
  • 08: August
  • 09: September
  • 10: October
  • 11: November
  • 12: December
Default date is the current date.

DD specifies the day of the month. Acceptable values are 01-31. YYYY specifies the year. Values to be entered in YYYY format.

Please note: the user has the choice of entering date/time in the ISO 8601 format (YYYY-MM-DDThh:mm), or as a calendar date (MM/DD/YYYY), and local time (hh:mm) by using the date and localTime fields, respectively.

No

Response

Response Field Description
summary A summary of the returned guidance route including:
  • a bounding box for the entire route
  • route time (in seconds)
  • length of the route
  • fuel used (in gallons) between origin and destination
locations Returns a collection of locations in the form of an address. See the Specifying locations as JSON section for more details on the format of a Location object.
GuidanceNodeCollection

A collection of nodes along the route (in order of traversal) where each node represents an intersection of two or more links along the route. An empty node is added at the beginning of the collection.

Each node has an array of link indices associated with the intersection that occurs there. These indices can be used to index the GuidanceLinkCollection. The first link index in the array represents the link on the route that starts at that node.

  • maneuverType: used to determine which action should be taken in order to stay on a route. Each node may or may not have a maneuver associated with it. See below for a list of maneuver types.
  • turnCost: number of seconds to transition between successive links along the route. These take into account the geometry of the intersection, number of links at the intersection, and types of roads at the intersection. This attempts to estimate the time, in seconds, it would take for stops, or places where a vehicle must slow to make a turn.
  • infoCollection: if a narrativeType other than "none" is selected, nodes at which a maneuver occurs will include an info field which is a string collection of narrative for that maneuver. The first string in the collection will be TTS-ready text, with the latter strings containing more verbose (display ready) equivalents.
GuidanceLinkCollection

A collection of links along the route as well as any link that is connected to any node along the route (i.e. cross streets).

The first set of links in the collection will be the links in the order they are traversed along the route. The cross streets are added to the end of the collection in the order they are encountered along the route.

  • endNode/refNode: specifies the nodes from GuidanceNodeCollections that occur at the beginning and end of the link
  • shapeIndex: specifies the index into the shapePoints array where the first shape point of the link is located
  • shapeCount: returns the remaining shape points associated with the link
  • roadInfoIndices: indices into the roadInfoCollection. They are prioritized by their name's importance. Typically, ramps on/off/between highways will have no name and thus, no roadInfoIndices.
  • length: describes the link length in miles or kilometers
  • beginTurnDir/endTurnDir: compass angles at the beginning and end of the link. The difference between these (on abutting links) can be used to determine the turn type (left vs. right vs. straight), and the turn degree (slight vs. sharp).
  • gefID: link ID that can be used when communication back to the server to find additional information along the route (e.g. to query for traffic along a route in the future).
  • driveability:
    • T (reverse): drivable one way from the end to the beginning of the link
    • F (forward): drivable one way from the beginning to the end of the link
    • B (both): drivable both ways along the link
    • N (none): not drivable in either direction on the link (e.g. a walkway)
  • speed: speed of link
  • linkType: The type of the link
    • 0: street
    • 1: rail
    • 2: transit connection
    • 3: ramp
    • 4: turn lane
    • 5: internal
    • 6: bus
  • speedLimit: Speed limit on the link, or zero if the speed limit is not known.
  • Exits: An array of exit information associated with the link, including exit number and exit sign text.
shapePoints Shape points for the guidance route. Shape points is an alternate array of lat/lngs. Evens are lat and odds are lng. The index of a specific shape point is i/2. If compression is specified in the request, the output will be the compressed set of alternating lat/lngs.
RouteLinkCount The number of links contained in the guidance route response. Since the response not only contains links on the route, but also any link that connects directly to the route, the RouteLinkCount will be strictly greater than or equal to the number of nodes in the response.
GuidanceRoadInfoCollection A collection of human-readable road names and signage associated with the links returned in the results.
  • name: contains a fully expanded version of the road name
  • stdName: same as name but allows for abbreviations
  • sign: contains information about the road shield for the given link. For information regarding the different shield types see Sign Types, below
  • direction: sign direction that is simply an integer from 0-8 corresponding to NONE, N, NW, NE, S, SE, SW, W, E respectively.

Maneuver Types

The following table describes the maneuver types associated with nodes from a Guidance Response. This list is subject to change; please check back for any updated maneuver types and IDs.

Maneuver Type Name Manuever ID Description
NONE 0 No maneuver occurs here.
STRAIGHT 1 Continue straight.
BECOMES 2 No maneuver occurs here; road name changes.
SLIGHT_LEFT 3 Make a slight left.
LEFT 4 Turn left.
SHARP_LEFT 5 Make a sharp left.
SLIGHT_RIGHT 6 Make a slight right.
RIGHT 7 Turn right.
SHARP_RIGHT 8 Make a sharp right.
STAY_LEFT 9 Stay left.
STAY_RIGHT 10 Stay right.
STAY_STRAIGHT 11 Stay straight.
UTURN 12 Make a U-turn.
UTURN_LEFT 13 Make a left U-turn.
UTURN_RIGHT 14 Make a right U-turn.
EXIT_LEFT 15 Exit left.
EXIT_RIGHT 16 Exit right.
RAMP_LEFT 17 Take the ramp on the left.
RAMP_RIGHT 18 Take the ramp on the right.
RAMP_STRAIGHT 19 Take the ramp straight ahead.
MERGE_LEFT 20 Merge left.
MERGE_RIGHT 21 Merge right.
MERGE_STRAIGHT 22 Merge.
ENTERING 23 Enter state/province.
DESTINATION 24 Arrive at your destination.
DESTINATION_LEFT 25 Arrive at your destination on the left.
DESTINATION_RIGHT 26 Arrive at your destination on the right.
ROUNDABOUT1 27 Enter the roundabout and take the 1st exit.
ROUNDABOUT2 28 Enter the roundabout and take the 2nd exit.
ROUNDABOUT3 29 Enter the roundabout and take the 3rd exit.
ROUNDABOUT4 30 Enter the roundabout and take the 4th exit.
ROUNDABOUT5 31 Enter the roundabout and take the 5th exit.
ROUNDABOUT6 32 Enter the roundabout and take the 6th exit.
ROUNDABOUT7 33 Enter the roundabout and take the 7th exit.
ROUNDABOUT8 34 Enter the roundabout and take the 8th exit.
TRANSIT_TAKE 35 Take a public transit bus or rail line.
TRANSIT_TRANSFER 36 Transfer to a public transit bus or rail line.
TRANSIT_ENTER 37 Enter a public transit bus or rail station.
TRANSIT_EXIT 38 Exit a public transit bus or rail station.
TRANSIT_REMAIN_ON 39 Remain on the current bus/rail car.

Guidance Node Types

The following table describes the node types associated with nodes from a Guidance Response.

Node Type Name Node Type ID Description
STREET 0 Street
RAIL_STATION 1 Rail Station
BUS_STATION 2 Bus Station
EGRESS 3 Egress Station

Guidance Link Types

The following table describes the link types associated with links in a Guidance Response.

Link Type Name Link Type ID Description
STREET 0 Street
RAIL 1 Rail
TRANSIT_CONNECTION 2 Connection between transit links

Sign Types

The following table describes the road shield types associated with links from a Guidance Response. This list is subject to change; please check back for any updated maneuver types and IDs.

Sign Type Description
United States Road Shield Tokens
1 Interstate
2 US Highway
3 State Route
4 County Route/Parish Route
5 Interstate Business
10 Farm to Market (FM)
11 Bureau of Indian Affairs (BIA)
Canada Road Shield Tokens
20 Trans Canada Highway
21 Autoroute
22 Primary Provincial Route
23 Provincal Secondary Route
24 District Route/Regional Route
25 Yellowhead Highway
United Kingdom Road Shield Tokens
30 Motorway/M Road
31 National/A Road
32 DO NOT USE (ASCII space)
33 Regional/B Road
34 C Road

Example Request

GET

https://open.mapquestapi.com/guidance/v2/route?key=KEY&from=1555+Blake+St.,+Denver,+CO+80202&to=1701+Wynkoop+St,+Denver,+CO+80202

Example Response

{
  "guidance": {
    "summary": {
      "boundingBox": {
        "maxLat": 39.752834,
        "minLat": 39.74963,
        "minLng": -105.002113,
        "maxLng": -104.999252
      },
      "dstStart": "2018-03-11T02:00:00",
      "currentRouteTime": -1,
      "defaultRouteTime": 96,
      "fuelUsed": "0.03",
      "length": "0.4",
      "dstEnd": "2018-11-04T02:00:00"
    },
    "RouteSelection": {
      "currentRouteTime": 0,
      "timeSavings": 0,
      "type": "DefaultSame",
      "percentSavings": 0
    },
    "GuidanceLinkCollection": [
      {
        "beginTurnDir": 224,
        "length": 0,
        "speedLimit": 0,
        "endNode": 1,
        "speed": 30,
        "driveability": "F",
        "refNode": 0,
        "endTurnDir": 224,
        "gefID": 53414978,
        "shapeIndex": 0,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          0
        ]
      },
      {
        "beginTurnDir": 224,
        "length": 0.072,
        "speedLimit": 0,
        "endNode": 2,
        "speed": 30,
        "driveability": "F",
        "refNode": 1,
        "endTurnDir": 224,
        "gefID": 53414978,
        "shapeIndex": 1,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          0
        ]
      },
      {
        "beginTurnDir": 226,
        "length": 0.006,
        "speedLimit": 0,
        "endNode": 3,
        "speed": 30,
        "driveability": "F",
        "refNode": 2,
        "endTurnDir": 226,
        "gefID": 55542955,
        "shapeIndex": 2,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          0
        ]
      },
      {
          "beginTurnDir": 223,
          "length": 0.005,
          "speedLimit": 0,
          "endNode": 4,
          "speed": 30,
          "driveability": "F",
          "refNode": 3,
          "endTurnDir": 223,
          "gefID": 55543088,
          "shapeIndex": 3,
          "linkType": 0,
          "shapeCount": 2,
          "roadInfoIndices": [
              0
          ]
      },
      {
        "beginTurnDir": 315,
        "length": 0.005,
        "speedLimit": 0,
        "endNode": 5,
        "speed": 30,
        "driveability": "F",
        "refNode": 4,
        "endTurnDir": 315,
        "gefID": 52288304,
        "shapeIndex": 4,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          1
        ]
      },
      {
        "beginTurnDir": 314,
        "length": 0.027,
        "speedLimit": 0,
        "endNode": 6,
        "speed": 30,
        "driveability": "F",
        "refNode": 5,
        "endTurnDir": 314,
        "gefID": 54044897,
        "shapeIndex": 5,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          1
        ]
      },
      {
        "beginTurnDir": 313,
        "length": 0.027,
        "speedLimit": 0,
        "endNode": 7,
        "speed": 30,
        "driveability": "F",
        "refNode": 6,
        "endTurnDir": 313,
        "gefID": 54044898,
        "shapeIndex": 6,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          1
        ]
      },
      {
        "beginTurnDir": 314,
        "length": 0.006,
        "speedLimit": 0,
        "endNode": 8,
        "speed": 30,
        "driveability": "F",
        "refNode": 7,
        "endTurnDir": 314,
        "gefID": 52288308,
        "shapeIndex": 7,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          1
        ]
      },
      {
        "beginTurnDir": 313,
        "length": 0.007,
        "speedLimit": 0,
        "endNode": 9,
        "speed": 30,
        "driveability": "B",
        "refNode": 8,
        "endTurnDir": 313,
        "gefID": 53579437,
        "shapeIndex": 8,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          1
        ]
      },
      {
        "beginTurnDir": 315,
        "length": 0.025,
        "speedLimit": 0,
        "endNode": 10,
        "speed": 30,
        "driveability": "B",
        "refNode": 9,
        "endTurnDir": 315,
        "gefID": 53569989,
        "shapeIndex": 9,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          1
        ]
      },
      {
        "beginTurnDir": 314,
        "length": 0.028,
        "speedLimit": 0,
        "endNode": 11,
        "speed": 30,
        "driveability": "B",
        "refNode": 10,
        "endTurnDir": 314,
        "gefID": 53570000,
        "shapeIndex": 10,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          1
        ]
      },
      {
        "beginTurnDir": 314,
        "length": 0.006,
        "speedLimit": 0,
        "endNode": 12,
        "speed": 30,
        "driveability": "B",
        "refNode": 11,
        "endTurnDir": 314,
        "gefID": 53560123,
        "shapeIndex": 11,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          1
        ]
      },
      {
        "beginTurnDir": 43,
        "length": 0.007,
        "speedLimit": 0,
        "endNode": 13,
        "speed": 20,
        "driveability": "B",
        "refNode": 12,
        "endTurnDir": 43,
        "gefID": 55541519,
        "shapeIndex": 12,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          2
        ]
      },
      {
        "beginTurnDir": 44,
        "length": 0.078,
        "speedLimit": 0,
        "endNode": 14,
        "speed": 20,
        "driveability": "B",
        "refNode": 13,
        "endTurnDir": 44,
        "gefID": 57743900,
        "shapeIndex": 13,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          2
        ]
      },
      {
        "beginTurnDir": 42,
        "length": 0.004,
        "speedLimit": 0,
        "endNode": 15,
        "speed": 20,
        "driveability": "B",
        "refNode": 14,
        "endTurnDir": 42,
        "gefID": 57743901,
        "shapeIndex": 14,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          2
        ]
      },
      {
        "beginTurnDir": 45,
        "length": 0.008,
        "speedLimit": 0,
        "endNode": 16,
        "speed": 20,
        "driveability": "B",
        "refNode": 15,
        "endTurnDir": 45,
        "gefID": 53570140,
        "shapeIndex": 15,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          2
        ]
      },
      {
        "beginTurnDir": 42,
        "length": 0.002,
        "speedLimit": 0,
        "endNode": 17,
        "speed": 20,
        "driveability": "B",
        "refNode": 16,
        "endTurnDir": 42,
        "gefID": 57743906,
        "shapeIndex": 16,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          2
        ]
      },
      {
        "beginTurnDir": 44,
        "length": 0.085,
        "speedLimit": 0,
        "endNode": 18,
        "speed": 20,
        "driveability": "B",
        "refNode": 17,
        "endTurnDir": 44,
        "gefID": 57743907,
        "shapeIndex": 17,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          2
        ]
      },
      {
        "beginTurnDir": 44,
        "length": 0,
        "speedLimit": 0,
        "endNode": 19,
        "speed": 20,
        "driveability": "B",
        "refNode": 18,
        "endTurnDir": 44,
        "gefID": 57743907,
        "shapeIndex": 18,
        "linkType": 0,
        "shapeCount": 2,
        "roadInfoIndices": [
          2
        ]
      }
    ],
    "GuidanceRoadInfoCollection": [
      {
        "name": "Blake St",
        "sign": {
          "text": "",
          "extraText": "",
          "type": 0,
          "direction": 0
        },
        "stdName": "Blake Street"
      },
      {
        "name": "15th St",
        "sign": {
          "text": "",
          "extraText": "",
          "type": 0,
          "direction": 0
        },
        "stdName": "15th Street"
      },
      {
        "name": "Wynkoop St",
        "sign": {
          "text": "",
          "extraText": "",
          "type": 0,
          "direction": 0
        },
        "stdName": "Wynkoop Street"
      }
    ],
    "RouteLinkCount": 19,
    "options": {
      "cyclingRoadFactor": 1,
      "useTraffic": false,
      "countryBoundaryDisplay": true,
      "enhancedNarrative": false,
      "locale": "en_US",
      "conditionsAheadDistance": 0,
      "fishbone": false,
      "generalize": 0,
      "realTimePercentSavingsThreshold": 0,
      "routeType": 0,
      "sideOfStreetDisplay": true,
      "avoidTimedConditions": false,
      "realTimeSecondsSavingsThreshold": 0,
      "routeNumber": 0,
      "legOptions": [
        {
          "drivingStyle": 2,
          "arteryWeights": [
            "1",
            "1",
            "1",
            "1",
            "1",
            "1",
            "1",
            "1"
          ],
          "highwayEfficiency": 25,
          "compassDirection": -1,
          "timeType": 0,
          "leg": 0
        }
      ],
      "transferTime": 0,
      "maxWalkingDistance": -1,
      "destinationManeuverDisplay": true,
      "transferPenalty": -1,
      "narrativeType": -1,
      "walkingSpeed": -1,
      "urbanAvoidFactor": -1,
      "unit": "M",
      "stateBoundaryDisplay": true,
      "generalizeAfer": -1,
      "maneuverPenalty": -1,
      "filterZoneFactor": -1
    },
    "locations": [
      {
        "dragPoint": false,
        "displayLatLng": {
          "lng": -104.999633,
          "lat": 39.750716
        },
        "adminArea4": "Denver County",
        "adminArea5": "Denver",
        "timezone": "",
        "postalCode": "80202",
        "adminArea1": "US",
        "description": "",
        "adminArea3": "CO",
        "mqId": "",
        "sideOfStreet": "N",
        "type": "s",
        "observesDST": false,
        "geocodeQualityCode": "P1XAA",
        "adminArea4Type": "County",
        "linkId": 57743870,
        "street": "1555 Blake Street",
        "gmtOffset": 0,
        "adminArea5Type": "City",
        "geocodeQuality": "POINT",
        "adminArea1Type": "Country",
        "adminArea3Type": "State",
        "latLng": {
          "lng": -104.999633,
          "lat": 39.750716
        }
      },
      {
        "dragPoint": false,
        "displayLatLng": {
          "lng": -105.000088,
          "lat": 39.753248
        },
        "adminArea4": "Denver County",
        "adminArea5": "Denver",
        "timezone": "",
        "postalCode": "80202",
        "adminArea1": "US",
        "description": "",
        "adminArea3": "CO",
        "mqId": "",
        "sideOfStreet": "N",
        "type": "s",
        "observesDST": false,
        "geocodeQualityCode": "P1CAA",
        "adminArea4Type": "County",
        "linkId": 52305075,
        "street": "1701 Wynkoop Street",
        "gmtOffset": 0,
        "adminArea5Type": "City",
        "geocodeQuality": "POINT",
        "adminArea1Type": "Country",
        "adminArea3Type": "State",
        "latLng": {
          "lng": -105.000088,
          "lat": 39.753248
        }
      }
    ],
    "GuidanceNodeCollection": [
      {
        "linkIds": [
          0
        ],
        "density": 15
      },
      {
        "linkIds": [
          1
        ],
        "density": 15,
        "maneuverType": 1,
        "advanceTtsEnabled": false
      },
      {
        "turnCost": 1,
        "linkIds": [
          2
        ],
        "density": 15
      },
      {
        "turnCost": 6,
        "linkIds": [
          3
        ],
        "density": 15
      },
      {
        "turnCost": 1,
        "linkIds": [
          4
        ],
        "density": 15,
        "maneuverType": 7,
        "advanceTtsEnabled": true
      },
      {
        "turnCost": 1,
        "linkIds": [
          5
        ],
        "density": 15
      },
      {
        "turnCost": 1,
        "linkIds": [
          6
        ],
        "density": 15
      },
      {
        "turnCost": 3,
        "linkIds": [
          7
        ],
        "density": 15
      },
      {
        "turnCost": 1,
        "linkIds": [
          8
        ],
        "density": 15
      },
      {
        "turnCost": 1,
        "linkIds": [
          9
        ],
        "density": 15
      },
      {
        "turnCost": 1,
        "linkIds": [
          10
        ],
        "density": 15
      },
      {
        "turnCost": 6,
        "linkIds": [
          11
        ],
        "density": 15
      },
      {
        "turnCost": 1,
        "linkIds": [
          12
        ],
        "density": 15,
        "maneuverType": 7,
        "advanceTtsEnabled": true
      },
      {
        "turnCost": 1,
        "linkIds": [
          13
        ],
        "density": 15
      },
      {
        "turnCost": 6,
        "linkIds": [
          14
        ],
        "density": 15
      },
      {
        "turnCost": 6,
        "linkIds": [
          15
        ],
        "density": 15
      },
      {
        "turnCost": 1,
        "linkIds": [
          16
        ],
        "density": 15
      },
      {
        "linkIds": [
          17
        ],
        "density": 15
      },
      {
        "linkIds": [
          18
        ],
        "density": 15,
        "maneuverType": 24,
        "advanceTtsEnabled": true
      },
      {
        "density": 0
      }
    ],
    "shapePoints": [
      39.750477,
      -104.999252,
      39.750477,
      -104.999252,
      39.749741,
      -105.000206,
      39.74968,
      -105.00029,
      39.74963,
      -105.000351,
      39.749683,
      -105.00042,
      39.749958,
      -105.000786,
      39.750229,
      -105.001152,
      39.750286,
      -105.001228,
      39.750359,
      -105.001328,
      39.750618,
      -105.001663,
      39.7509,
      -105.002037,
      39.750957,
      -105.002113,
      39.751026,
      -105.002029,
      39.751823,
      -105.000999,
      39.751862,
      -105.000954,
      39.751942,
      -105.000847,
      39.751961,
      -105.000824,
      39.752834,
      -104.999695,
      39.752834,
      -104.999695
    ],
    "info": {
      "statuscode": 0,
      "copyright": {
        "imageAltText": "© 2018 MapQuest, Inc.",
        "imageURL": "http://api.mqcdn.com/res/mqlogo.gif",
        "text": "© 2018 MapQuest, Inc."
      }
    }
  }
}