Atasu Maps

Спецификация стилей

Стиль standard — источники, имена слоёв, состояние языка и темы, подписи, шрифты и куда добавлять свои слои.

Стили Atasu — это документы стиля MapLibre, собранные из дизайн-токенов. SDK загружает их сам (GET /v1/styles/{style_id}.json в рамках сессии карты); эта страница нужна, чтобы добавить свои слои или поменять вид маршрута.

Палитра standard — черновик, ожидает утверждения бренда. Имена слоёв и состояние ниже стабильны.

Стили

СтильСтатус
standardдоступен — день и ночь, казахский / русский / английский
standard-3d, navigationзапланированы (бета)

Язык и тема без перезагрузки

Веб-стиль объявляет два свойства глобального состояния; Web SDK меняет их через setLanguage() / setTheme() (MapLibre setGlobalStateProperty), поэтому карта не перезагружается:

JSON — нәтиже
"state": {
  "theme": { "default": "day" },
  "lang": { "default": "kk" }
}

theme — day или night; lang — kk, ru или en. Нативные SDK вместо этого используют статические дневной / ночной стили и небольшие патчи (в MapLibre Native нет глобального состояния).

Порядок подписей, если у объекта нет названия на выбранном языке:

ЯзыкПорядок (первое найденное)
kkname:kk → name:ru → name
runame:ru → name
enname:en → name:ru → name

Источники

ИсточникТипЧто
basemapvector, https://tiles.atasumaps.com/v1/basemap/{z}/{x}/{y}.mvt, z0–15базовая карта OpenStreetMap + Overture
canopyvector, https://tiles.atasumaps.com/v1/canopy/{z}/{x}/{y}.mvt, z11–15, Алматы и Астанакроны деревьев: полигоны, где модель высоты полога Meta и WRI видит не менее h = 2 / 5 / 10 / 20 м (CC BY 4.0, снимки © Maxar; ошибка модели — несколько метров, снимки 2016–2019 гг.)
atasu-routeGeoJSONместо для маршрута, которое заполняет SDK (map.routes.draw)

Токен тайлов добавляет SDK; в URL стиля никогда нет токена или ключа.

Имена слоёв

СлоиЧто
background, landcover, landuse-*, water*, boundary-*основа
canopy, canopy-3dкроны деревьев по классам высоты (над землепользованием, под зданиями и дорогами); canopy-3d объёмный и скрыт, пока не включён 3D. Оба помечены metadata: {"atasu:toggle": "trees"}; выключить — map.trees.set(false)
road-* (обводка: road-*-casing), buildingдороги и здания
route-casing, route-lineмаршрут, под подписями
label-*все подписи; зависящие от языка помечены metadata: {"atasu:label": true}
route-endpointsначало / конец маршрута, поверх всего

Добавляйте свои слои перед первым слоем label-*, чтобы названия оставались читаемыми, — см. Web SDK → свои слои.

Источник маршрута принимает объекты LineString (можно alternative: true — рисуются бледнее) и Point с role: "start" или role: "end".

Шрифты и значки

Текст набран Inter с Noto Sans (кириллица, включая все казахские буквы: Ә Ғ Қ Ң Ө Ұ Ү Һ І) и Noto Sans Arabic для казахских названий арабской графикой. Шрифты (OFL-1.1) и значки отдаются с tiles.atasumaps.com вместе со стилем. Сам стиль — открытый код (BSD-3-Clause; значки CC BY 4.0).

Атрибуция

Каждый векторный источник несёт атрибуцию OpenStreetMap / Overture; SDK показывают её на карте и не позволяют скрыть — см. атрибуцию и лицензии данных.