Style specification
The standard map style — sources, layer names, language and theme state, labels, fonts and where to add your layers.
Atasu styles are MapLibre style documents generated from design
tokens. The SDKs load them for you (GET /v1/styles/{style_id}.json with your map session); you only need this
page to add your own layers or to restyle the route.
The
standardpalette is a draft pending brand approval. Layer names and the state below are stable.
Styles
| Style | Status |
|---|---|
standard | available — day and night, Kazakh / Russian / English |
standard-3d, navigation | planned (Beta) |
Language and theme without reloading
The web style declares two global state properties; the Web SDK sets them with setLanguage() / setTheme()
(MapLibre setGlobalStateProperty), so the map never reloads:
"state": {
"theme": { "default": "day" },
"lang": { "default": "kk" }
}theme is day or night; lang is kk, ru or en. Native SDKs use static day / night styles plus small
patches instead (MapLibre Native has no global state).
Label fallback when an object has no name in the chosen language:
| Language | Order (first present wins) |
|---|---|
| kk | name:kk → name:ru → name |
| ru | name:ru → name |
| en | name:en → name:ru → name |
Sources
| Source | Type | What |
|---|---|---|
basemap | vector, https://tiles.atasumaps.com/v1/basemap/{z}/{x}/{y}.mvt, z0–15 | OpenStreetMap + Overture basemap |
canopy | vector, https://tiles.atasumaps.com/v1/canopy/{z}/{x}/{y}.mvt, z11–15, Almaty and Astana | tree canopy: polygons where the Meta & WRI canopy-height model sees at least h = 2 / 5 / 10 / 20 m (CC BY 4.0, imagery © Maxar; model error a few metres, imagery 2016–2019) |
atasu-route | GeoJSON | the route slot the SDKs fill (map.routes.draw) |
The tile token is added by the SDK; style URLs never contain a token or a key.
Layer names
| Layers | What |
|---|---|
background, landcover, landuse-*, water*, boundary-* | base |
canopy, canopy-3d | tree canopy by height class (above landuse, below buildings and roads); canopy-3d is extruded and hidden until 3D is on. Both carry metadata: {"atasu:toggle": "trees"}; switch with map.trees.set(false) |
road-* (casing: road-*-casing), building | roads and buildings |
route-casing, route-line | the route, under the labels |
label-* | every text label; language-dependent ones carry metadata: {"atasu:label": true} |
route-endpoints | start / end points of the route, on top |
Add your own layers before the first label-* layer so names stay readable — see
Web SDK → your own layers.
The route source takes LineString features (optionally alternative: true, drawn dimmed) and Point features
with role: "start" or role: "end".
Fonts and icons
Text uses Inter with Noto Sans (Cyrillic, including every Kazakh letter: Ә Ғ Қ Ң Ө Ұ Ү Һ І) and Noto Sans
Arabic for Kazakh names written in the Arabic script. Fonts (OFL-1.1) and icons are served from
tiles.atasumaps.com with the style. The style itself is open source (BSD-3-Clause; icons CC BY 4.0).
Attribution
Every vector source carries the OpenStreetMap / Overture attribution; the SDKs show it on the map and do not offer a way to hide it — see attribution and data licensing.