Atasu Maps

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 standard palette is a draft pending brand approval. Layer names and the state below are stable.

Styles

StyleStatus
standardavailable — day and night, Kazakh / Russian / English
standard-3d, navigationplanned (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:

JSON — output
"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:

LanguageOrder (first present wins)
kkname:kk → name:ru → name
runame:ru → name
enname:en → name:ru → name

Sources

SourceTypeWhat
basemapvector, https://tiles.atasumaps.com/v1/basemap/{z}/{x}/{y}.mvt, z0–15OpenStreetMap + Overture basemap
canopyvector, https://tiles.atasumaps.com/v1/canopy/{z}/{x}/{y}.mvt, z11–15, Almaty and Astanatree 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-routeGeoJSONthe 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

LayersWhat
background, landcover, landuse-*, water*, boundary-*base
canopy, canopy-3dtree 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), buildingroads and buildings
route-casing, route-linethe route, under the labels
label-*every text label; language-dependent ones carry metadata: {"atasu:label": true}
route-endpointsstart / 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.