Быстрый старт
Ключ → карта → поиск → маршрут на вашей странице примерно за 10 минут.
Осы бетте
Вы создадите API-ключ, покажете карту Алматы на веб-странице, найдёте адрес и построите до него маршрут. Нужны Node.js 20 или новее и аккаунт Atasuai.
1. Получите веб-ключ
- Откройте консоль и нажмите Войти через Atasuai.
- Создайте организацию (Создать организацию → название → Создать).
- Откройте API-ключи → Создать ключ. Тип: Веб. В поле Разрешённые источники (origins) укажите
адрес, с которого открывается страница, — для этого руководства
http://localhost:5173(по одному в строке;https://ваш-сайт.kzдобавите позже). Оставьте отмеченными продукты Базовая карта, Поиск и Маршруты. - Нажмите Создать ключ, скопируйте ключ (
atk_live_…илиatk_test_…) и подтвердите Я скопировал(а) и сохранил(а) его. Полный ключ показывается только один раз.
Веб-ключ публичный по своей природе — он окажется в коде страницы. API принимает его только с перечисленных адресов и только для продуктов вашего тарифа.
2. Создайте проект
mkdir atasu-quickstart && cd atasu-quickstart
npm init -y
npm install @atasu/maps-gl
npm install --save-dev viteindex.html:
<!doctype html>
<html lang="kk">
<head>
<meta charset="utf-8" />
<title>Atasu Maps</title>
</head>
<body style="margin: 0">
<div id="map" style="height: 100vh"></div>
<script type="module" src="./main.js"></script>
</body>
</html>3. Карта, поиск, маршрут
main.js — замените YOUR_WEB_KEY своим ключом:
import { AtasuMap } from '@atasu/maps-gl';
import '@atasu/maps-gl/maplibre-gl.css';
const map = await AtasuMap.create({
container: 'map',
apiKey: 'YOUR_WEB_KEY',
center: [76.95692, 43.24313], // Almaty, Dostyk Ave × Abay Ave
zoom: 14,
});
const { items } = await map.search.search('Сәтбаев көшесі 4А');
const route = await map.routing.route({ from: [76.95692, 43.24313], to: { place_id: items[0].id } });
map.routes.draw(route);
console.log(`${Math.round(route.routes[0].distance_m)} m, ${Math.round(route.routes[0].duration_s / 60)} min`);npx vite --port 5173Откройте http://localhost:5173: карта Алматы с подписями на казахском, атрибуция в углу и маршрут на карте. Настраивать сборщик не нужно (Vite, webpack и Rollup сами подхватывают файл воркера карты).
Что произошло:
AtasuMap.create()открыл сессию карты по вашему ключу, получил короткоживущий токен тайлов и только потом загрузил стиль — тайлы запрашиваются с токеном, ключ в них не попадает. Токен обновляется автоматически.map.search.search()вызвалGET /v1/geocode/search, аmap.routing.route()—POST /v1/route; оба учитываются в консоли (Использование и бюджеты).
На сервере: то же самое через curl
На своём бэкенде используйте серверный ключ (тип Серверный, привязан к IP-адресам ваших серверов). Никогда не кладите серверный ключ на веб-страницу или в приложение.
curl -fsS -G "https://api.atasumaps.com/v1/geocode/search" \
-H "X-Atasu-Key: YOUR_SERVER_KEY" \
--data-urlencode "q=Сәтбаев көшесі 4А" \
--data-urlencode "lang=ru"curl -fsS -X POST "https://api.atasumaps.com/v1/route" \
-H "X-Atasu-Key: YOUR_SERVER_KEY" \
-H "Content-Type: application/json" \
-d '{"waypoints":[{"lnglat":[76.95692,43.24313]},{"lnglat":[76.955275,43.238767]}],"costing":"auto","lang":"ru","geometry_format":"geojson"}'Точка назначения — координата, которую поиск выше вернул для «Сәтбаев көшесі 4А».
Дальше
- Руководство по Web SDK: язык и тема, подсказки, маршрут до подъезда, ошибки.
- Справочник API, коды ошибок, лимиты и бюджеты.