NDS.Live

Smart Layer Tile Service

Request access

A Smart Layer Tile Service delivers one kind of NDS.Live content, such as a road model package, as smart layer tiles. Your map data component discovers the services it can use through the NDS.Live Registry, then calls the methods in this section on each one.

Run the methods

Each service describes itself in an OpenAPI file at https://{serviceURL}/openapi.json.

OpenAPI client generators don’t produce a working client. Request and response bodies are zserio-encoded binary, and client generators such as OpenAPI Generator expect JSON or XML. Generate the zserio serializer and deserializer for the programming language of your map data component at pack.nds.live, and use it to encode requests and decode responses.

Common request details

All methods share the same request and response patterns, including what your map data component should do with each HTTP status code.

  • Authentication: add your My.TomTom API key as the apiKey query parameter.
  • Encoding: request and response bodies are zserio-encoded binary, not JSON, with the media type application/x-zserio-object. Use the NDS.Live SDK, the Smart Layer Client or MapViewer to read them.
  • Conditional requests: methods that support them accept If-None-Match and return 304 when nothing changed. The ETag request header is deprecated.

Methods

Call every method with an HTTP POST request, including methods that only return data: in the NDS.Live services, the HTTP method doesn’t tell what a request does.

TomTom’s Smart Layer Tile Service implements these 11 methods. The NDS.Live standard also defines list variants, such as getLayerByTileIdList. TomTom’s service doesn’t offer them, and its capabilities don’t set their flags.

MethodReturns
getLayerByTileIdThe full smart layer tile
getHeaderOnlyByTileIdThe tile header only
getDeltaLayerByTileIdOnly the changed layers
getSingleDataLayerByTileIdOne layer of one tile
getServiceDefinitionThe layers the service contains
getServiceModuleDefinitionThe service’s module definition
getServiceNodeLegalInfoLegal and attribution metadata
getServiceNodeSystemReferenceThe service node’s system reference
getTileServiceCapabilitiesThe methods the service implements
getSpatialExtentThe area the service covers
getRegistryMetadataThe service’s registry metadata

Common HTTP status codes

The most common codes are below. Request and response patterns lists all of them, with what your map data component should do.

CodeMeaning
204No data for this tile at this level. It isn’t an error: cache the empty result and don’t retry.
302, 303The resource is at the URL in the Location response header. Follow it right away, and don’t cache it or write it to logs.
304Not modified since the version in If-None-Match.
404Not found. For a tile outside the coverage area, this is a final answer: don’t retry.
410The service is decommissioned. Discard the data you cached from it, and ask the NDS.Live Registry for another service.