Начало работы
Чтобы начать работу с MapGL JS API, ознакомьтесь с основными сценариями использования карты и вы полните следующие шаги:
- Получите ключ доступа.
- Добавьте библиотеку MapGL JS API в свой проект.
- Инициализируйте карту.
- (Опционально) Добавьте объект на карту (например, маркер).
1. Получите ключ доступа
Чтобы работать с API сервиса, нужно получить ключ доступа:
- Зарегистрируйтесь в личном кабинете Менеджер Платформы.
- Создайте демо-ключ или купите подписку для доступа к API.
Работать с ключами можно в Менеджере Платформы: подробнее см. в документации личного кабинета.
2. Подключите библиотеку
При помощи тега script
Чтобы подключить библиотеку MapGL JS API, добавьте следующую строку в код страницы:
<script src="https://mapgl.2gis.com/api/js/v1"></script>
Библиотека добавит глобальную переменную mapgl
. Полный список доступных методов этой переменной можно посмотреть в Справочнике API.
При помощи npm
Если вы используете npm, вы можете подключить библиотеку с помощью пакета @2gis/mapgl:
import { load } from '@2gis/mapgl';
// or const { load } = require('@2gis/mapgl');
load().then((mapgl) => {
const map = new mapgl.Map('container', {
center: [55.31878, 25.23584],
zoom: 13,
key: 'Your API access key',
});
});
Если вы хотите использовать MapGL JS API, который установлен в On-Premise окружении, дополнительно укажите адрес сервиса. Пример:
load('http://mapgl-js-api.example.com/api/js').then((mapgl) => {
const map = new mapgl.Map('container', {
center: [55.31878, 25.23584],
zoom: 13,
key: 'Your API access key',
});
});
Асинхронная загрузка
Чтобы загрузить карту асинхронно, нужно указать атрибуты async и defer при загрузке библиотеки. Имя функции, которая будет вызвана после загрузки библиотеки, нужно указать в качестве значения параметра callback
в строке запроса.
<script src="https://mapgl.2gis.com/api/js/v1?callback=initMap" async defer></script>
<script>
function initMap() {
const map = new mapgl.Map('container', {
center: [55.31878, 25.23584],
zoom: 13,
key: 'Your API access key',
});
}
</script>
При помощи system.js
При использовании карты совместно с system.js следует воспользоваться конструкцией System.import
:
System.import('https://mapgl.2gis.com/api/js/v1').then((mapgl) => {
const map = new mapgl.Map('container', {
center: [55.31878, 25.23584],
zoom: 13,
key: 'Your API access key',
});
});
Примечание
Вы также можете использовать MapGL JS API в проектах на React.
3. Инициализируйте карту
Чтобы отобразить карту на странице, нужно создать HTML-элемент, который будет выступать в роли контейнера:
<div id="container"></div>
Так как карта будет помещена внутрь этого элемента, нужно указать его размеры:
<style>
#container {
width: 500px;
height: 300px;
}
</style>
После этого нужно инициализировать карту, вызвав метод Map() и указав идентификатор контейнера и ваш ключ доступа. Вы также можете указать начальные координаты карты и нужный масштаб. Полный список параметров можно найти в Справочнике API.
const map = new mapgl.Map('container', {
key: 'Your API access key',
center: [55.31878, 25.23584],
zoom: 13,
});
4. Добавьте маркер
Чтобы добавить маркер на карту, нужно вызвать метод Marker(), указав инстанс карты и координаты для маркера:
const marker = new mapgl.Marker(map, {
coordinates: [55.31878, 25.23584],
});
Полный список дополнительных параметров для маркера можно найти в Справочнике API.