Raster Tiles API
Сервис Raster Tiles API позволяет добавить растровую карту 2ГИС в мобильное или веб-приложение. Он возвращает изображения тайлов в формате PNG, с помощью которых можно отобразить карту в интерфейсе.
Вы можете выбрать способ интеграции сервиса в зависимости от ваших задач:
- использовать публичный endpoint — для интеграции со сторонними библиотеками или собственной реализации;
- использовать библиотеку RasterJS API — для отображения карты с минимальной настройкой.
Начало работы
Получение ключа
- Зарегистрируйтесь в личном кабинете Менеджер Платформы.
- Создайте демо-ключ или купите подписку для доступа к API. Подробнее о стоимости сервиса см. в разделе Тарифы.
Примечание
Если у вас уже есть действующий API-ключ, полученный для RasterJS API, вы можете использовать его и с Raster Tiles API до истечения срока действия подписки. Срок действия можно посмотреть в личном кабинете, на вкладке Главная.
Использование endpoint-а
При использовании сторонних библиотек вы можете указать endpoint, по которому будут загружаться изображения тайлов:
https://tile{n}.maps.2gis.com/v2/tiles/{tileset}/{z}/{x}/{y}.png?key={key}
Здесь:
n— номер хоста. Может иметь значение от0до4. Вы можете использовать один хост, если у вас небольшой объём трафика, или распределять запросы между несколькими хостами самостоятельно.tileset— набор тайлов. Например,online_hdдля тайлов в высоком разрешении илиonline_sdдля тайлов в стандартном разрешении.z— масштаб карты. Чем больше число, тем подробнее карта.x,y— координаты тайла.key— ваш API-ключ.
Пример запроса
https://tile0.maps.2gis.com/v2/tiles/online_hd/16/47851/20734.png?key=YOUR_KEY
Использование библиотеки RasterJS API
RasterJS API — это бесплатная JavaScript-библиотека, с помощью которой вы можете добавить двумерную карту 2ГИС на ваш сайт. Библиотека содержит готовый набор инструментов для интерактивного взаимодействия с картой, автоматически запрашивает растровые тайлы и отображает их на странице.
Библиотека позволяет:
- создавать интерактивные карты на веб-странице;
- показывать на карте маркеры, попапы и геометрические объекты;
- определять координаты геообъектов по их названиям и названия по координатам.
Вы можете посмотреть примеры использования библиотеки в разделе Примеры.
Исходный код RasterJS API доступен на GitHub, проект открыт к предложениям и пулл-реквестам.
Чтобы использовать сервис Raster Tiles API с библиотекой RasterJS API, после получения API-ключа:
Подключение библиотеки
Добавьте следующую строку в код HTML-страницы:
<script src="https://maps.api.2gis.ru/2.0/loader.js?pkg=full&key=YOUR_KEY"></script>
Если вы используете npm, см. раздел Подключение API.
Инициализация карты
Чтобы отобразить карту на странице, создайте HTML-элемент, который выступит в роли контейнера, и укажите его размеры:
<body>
<div id="map" style="width:500px; height:400px"></div>
</body>
Чтобы инициализировать карту, вызовите метод DG.map(), укажите идентификатор контейнера и ваш ключ доступа. Вы также можете указать начальные координаты карты и нужный масштаб. Полный список параметров см. в Справочнике для RasterJS API.
<script type="text/javascript">
var map;
DG.then(function () {
map = DG.map('map', {
center: [54.98, 82.89],
zoom: 13,
key: 'Your API access key',
});
});
</script>
Здесь:
center— координаты центра карты в формате[широта, долгота];zoom— масштаб карты в диапазоне от 1 до 18.
Добавление маркера
Чтобы добавить маркер на карту, вызовите метод DG.marker(), указав инстанс карты и координаты для маркера:
DG.marker([54.98, 82.89]).addTo(map);
Чтобы добавить на карту попап (всплывающий блок) с необходимой информацией, который будет отображаться при клике на маркер:
DG.marker([54.98, 82.89]).addTo(map).bindPopup('Вы кликнули по мне!');
Полный список дополнительных параметров для маркера см. в Справочнике для RasterJS API.
Пример
Результирующий код:
<!DOCTYPE html>
<html>
<head>
<title>Raster Tiles API</title>
<script src="https://maps.api.2gis.ru/2.0/loader.js?pkg=full&key=<YOUR_KEY>"></script>
<script type="text/javascript">
var map;
DG.then(function () {
map = DG.map('map', {
center: [54.98, 82.89],
zoom: 13,
key: 'Your API access key',
});
DG.marker([54.98, 82.89]).addTo(map).bindPopup('Вы кликнули по мне!');
});
</script>
</head>
<body>
<div id="map" style="width:500px; height:400px"></div>
</body>
</html>
Статистика
При исчерпании лимитов сервис станет недоступен. Вы можете отслеживать расходование лимитов в подписке и статистику распределения запросов к сервису в личном кабинете. Подробнее об инструментах статистики см. в разделе Статистика.
Тарифы
- Стоимость сервиса рассчитывается исходя из количества успешных запросов в месяц.
- Актуальные тарифы можно посмотреть в Менеджере Платформы.