TerraMap Developers
Build with TerraMap.
Everything you need to add maps and location services to your applications. From API key to your first map in minutes.
Technical overview
Maps
- Day & Night styles
- Style JSON endpoints
- TerraMap Web SDK
Tiles
- Vector tiles (MVT)
- Raster tiles (PNG)
- Zoom 0–18
APIs
- Place Search available today
- Reverse Geocoding available today
- Routing mock API
- Matrix, TSP, VRP mock APIs
SDKs
- Web available today
- iOS in development
- Android in development
Maps, tiles, Place Search, Reverse Geocoding and the TerraMap Web SDK are available today. Routing, matrix, optimization and navigation currently return explicitly marked mock responses; native iOS and Android SDKs remain in development. Accounts, authentication and API key management are available through the TerraMap Console.
Integration preview
Render your first TerraMap map.
TerraMap's current style infrastructure includes the sources, sprite and attribution needed to draw a complete map. The preview on the right runs the code below.
<link href="https://terramap.at/terramap-gl.css" rel="stylesheet">
<script src="https://terramap.at/terramap-gl.js"></script>
<div id="map" style="height:420px"></div>
<script>
const map = new TerraMap.Map({
container: 'map',
token: 'tm_pk_...', // publishable key
style: 'day', // or 'night'
center: [16.3738, 48.2082],
zoom: 13
});
map.addControl(new TerraMap.NavigationControl());
</script>
// Day and Night share layer ids and sources, so the map repaints
// in place — no tiles are re-fetched and the camera does not move.
await map.setTerraMapStyle(night ? 'night' : 'day');
// Both answer with the same Place record, in the standard
// TerraMap envelope: { status, code, message, data: [...] }
const found = await map.search({
query: 'Stephansdom',
proximity: [16.3738, 48.2082] // [lng, lat]
});
const here = await map.reverseGeocode({
location: [16.3731, 48.2084]
});
console.log(found.data[0].name, here.data[0].street);
node serve.js tiles.mbtiles 8099 buildings.mbtiles
Compatibility note · TerraMap GL JS is built on MapLibre GL JS (BSD-3-Clause) and keeps its style specification and map API, so existing MapLibre code and styles carry over. The SDK adds TerraMap authentication, automatic map-resource authorization and the TerraMap service APIs.
Get started
Your first TerraMap map in minutes
Four steps: an account, a publishable key, the SDK on the page, and a map. Nothing to install and no build step required.
-
Create an account
Create a TerraMap developer account, then verify your email to activate it.
-
Get your credentials
Create a publishable or secret API key, choose its API scopes, and copy it when it is shown.
-
Add TerraMap to your app
Load the TerraMap Web SDK and initialize it with your publishable key.
-
Render your first map
Set a centre and zoom, add controls, and switch between the Day and Night styles.
Documentation
What the API Docs cover
This page is the introduction: what the platform offers and how an integration starts. The API Docs are the reference — every endpoint, parameter, response and error code, with a live "try it" console.
- Getting Started Available today
- Maps Available today
- Tiles Available today
- Search & Reverse Geocoding Available today
- Routing Mock endpoint
- Matrix & Optimization Mock endpoints
- Navigation Mock endpoints
- Web SDK Available today
- Authentication Available today
Start with the map.
Explore the cartography first — the rest of the platform builds on it.