Map Styles

Service version: 4
Last edit: 2022.07.15

Purpose

The Traffic API Resource service delivers resources required to display vector traffic maps. The service consists of the:

  • Metadata method: this retrieves a list of resources of a selected type.
  • Resource method: this retrieves a selected resource.

Request data

Metadata method

HTTPS method: GET

  • Constants and parameters enclosed in curly brackets { } must be replaced with their values.
  • Please see the following Request parameters section with the required and optional parameters tables for their values. The generic request format is as follows.

URL format

GET
Request URL
https://{baseURL}/traffic/map/{versionNumber}/{resourceType}/{resourceVersion}/{resourceVariant}/metadata.{format}?key={Your_API_Key}

Examples

GET
Request URL examples
1https://api.tomtom.com/traffic/map/4/style/metadata.xml?key={Your_API_Key}
2
3https://api.tomtom.com/traffic/map/4/sprite/20.2.4-0/metadata.json?key={Your_API_Key}
4
5https://api.tomtom.com/traffic/map/4/glyph/20.2.4-0/metadata.json?key={Your_API_Key}

curl command format

GET
Request curl command
curl 'https://api.tomtom.com/traffic/map/4/sprite/20.2.4-0/metadata.json?key={Your_API_Key}'

Request parameters (Metadata method)

The following table describes the parameters that can be used in a request.

  • Required parameters must be used or the call will fail.
  • Parameters and values are case-sensitive.
  • Optional parameters may be used.
Required parametersDescription
baseURL
string
Base URL for calling TomTom services.
Value: api.tomtom.com
versionNumber
string
The version of the service to call.
Value: The current version is 4.
resourceType
string
The type of the requested resource.
Values:
  • style
  • sprite
  • glyph
format
string
The requested response format.
Values:
  • .xml
  • .json
  • .jsonp
key
string
The authorization key for access to the API.
Value: Your valid API Key.
Optional parametersDescription
resourceVersion
string
Version of the requested resource.
Value: The resource version.
resourceVariant
string
Variant of the requested resource. Can only be used when resourceVersion is provided.
Value: The variant name.

Resource method

HTTPS method: GET

  • Constants and parameters enclosed in curly brackets { } must be replaced with their values.
  • Please see the following Request parameters section with the required and optional parameters tables for their values. The generic request format is as follows.

URL format

GET
Request URL
https://{baseURL}/traffic/map/{versionNumber}/{resourceType}/{resourceVersion}/{resourceVariant}/{resourceName}?key={Your_API_Key}

Example

GET
Request example
https://api.tomtom.com/traffic/map/4/style/20.2.4-0/flow_absolute.json?key={Your_API_Key}

curl command format

GET
Request curl command
curl 'https://api.tomtom.com/traffic/map/4/style/20.2.4-0/flow_absolute.json?key={Your_API_Key}'

Request parameters (Resource method)

The following table describes the parameters that can be used in a request.

  • Required parameters must be used or the call will fail.
  • Parameters and values are case-sensitive.
  • Optional parameters may be used.
Required parametersDescription
baseURL
string
Base URL for calling TomTom services.
Value: api.tomtom.com
versionNumber
string
The version of the service to call.
Value: The current version is 4.
resourceType
string
The type of the requested resource.
Values:
  • style
  • sprite
  • glyph
resourceVersion
string
The version of the requested resource. Available versions can be listed using the Metadata method.
Value: A resource version.
resourceName
string
The requested resource name (with an extension if applicable). Available resources can be listed using the Metadata method.
Value: A resource name.
key
string
Authorization key for access to the API.
Value: Your valid API Key.
Optional parametersDescription
resourceVariant
string
The variant of the requested resource. Available variants can be listed using the Metadata method.
Value: For example, flow_absolute

Host name cycling

Most web browsers have a default limitation on the number of active connections that can be allowed to each host. This means if map tiles are being loaded via the api.tomtom.com host name, they will be loaded one at a time. A trick that can be used to get around this limitation is to cycle through the hosts we have created as aliases. These host names are:

  • a.api.tomtom.com
  • b.api.tomtom.com
  • c.api.tomtom.com
  • d.api.tomtom.com

By cycling through these four different host names, the web browser will be tricked into retrieving four map resources at a time rather than just one. This will significantly speed up the performance of map loading.

For instance, if four map styles are being requested, you would request the first one as:

GET
Request URL using a.api.tomtom.com
https://a.api.tomtom.com/traffic/map/4/style/(further parameters)

The second would be:

GET
Request URL using b.api.tomtom.com
https://b.api.tomtom.com/traffic/map/4/style/(further parameters)

The third would be:

GET
Request URL using c.api.tomtom.com
https://c.api.tomtom.com/traffic/map/4/style/(further parameters)

The fourth would be:

GET
Request URL using d.api.tomtom.com
https://d.api.tomtom.com/traffic/map/4/style/(further parameters)

When more than four styles are being requested, start back again at a.api.tomtom.com.

Response data

Metadata method

The response to a successful call will be the list of requested resources as shown in the following JSON response code example. Exception responses will use the response codes described in the following Response codes.

Response body - Metadata method - JSON
1{
2 "content" : [
3 {
4 "name" : "flow_absolute.json",
5 "type" : "resource"
6 },
7 {
8 "name" : "flow_reduced-sensitivity.json",
9 "type" : "resource"
10 },
11 {
12 "name" : "flow_relative.json",
13 "type" : "resource"
14 },
15 {
16 "name" : "flow_relative0-dark.json",
17 "type" : "resource"
18 },
19 {
20 "name" : "flow_relative0.json",
21 "type" : "resource"
22 },
23 {
24 "name" : "flow_relative-delay.json",
25 "type" : "resource"
26 },
27 {
28 "name" : "incidents_dark.json",
29 "type" : "resource"
30 },
31 {
32 "name" : "incidents_day.json",
33 "type" : "resource"
34 },
35 {
36 "name" : "incidents_night.json",
37 "type" : "resource"
38 },
39 {
40 "name" : "incidents_s0-dark.json",
41 "type" : "resource"
42 },
43 {
44 "name" : "incidents_s0.json",
45 "type" : "resource"
46 },
47 {
48 "name" : "incidents_s1.json",
49 "type" : "resource"
50 },
51 {
52 "name" : "incidents_s2.json",
53 "type" : "resource"
54 },
55 {
56 "name" : "incidents_s3.json",
57 "type" : "resource"
58 }
59 ]
60}

Resource method

The response to a successful request will be the requested resource (style, sprite, or glyph). Exception responses will use the response codes described in the following HTTP response codes section.

Response codes

CodeMeaning & possible causes
200OK
400Bad request: Received by the interface, but there is an exception while processing it. Possible causes include:
  • One or more of the required parameters are missing.
  • An unsupported or unrecognized parameter value.
A detailed exception explanation is returned in the response in the "form of a service exception" report.
403Forbidden: The supplied API Key is not valid for this request.
404Not found: The requested resource could not be found.
429Too Many Requests: Too many requests were sent in a given amount of time for the supplied API Key.
500Internal Server Error: There is a problem with the service.

Response headers

The following table lists HTTP response headers of particular interest to clients of the Traffic Incident Details API endpoint.

HeaderDescription
Access-Control-Allow-OriginIndicates that cross-origin resource sharing (CORS) is allowed.
Value: * universal.
Cache-ControlContains directives for a caching mechanism.
Values: <public>, <no-cache>
Content-LengthContains information about the size of the response body.
Value: <decimal number>
Content-TypeIndicates the media type of the resource returned.
Value: <application/json charset=utf-8>
DateContains the date and time when the message was originated.
Value: <http-date>
Content-EncodingIndicates that gzip compression is supported.
Value: gzip

Style visual examples

Example of the relative0 traffic flow style relative0 example
Example of the relative0-dark traffic flow style relative0-dark example
Example of the s0 traffic incidents style s0 example
Example of the s0-dark traffic incidents style s0-dark example
Example of the day traffic incidents style day example
Example of the dark traffic incidents style dark example