StagiMap является простым и дружелюбным конфигуратором для Яндекс.Карты. Цель данной библиотеки - предоставить любому разработчику простой способ настройки и внедрения карт на сайте, где неохобходимо показать контактную информацию, без надобности изучения API-документации. С помощью данной библиотеки, в несколько строк возможна концигурация Яндекс.Карты с поддержкой кластеризации, навигации, скрытием/отображением данных на карте и др.
ВАЖНО: StagiMap базируется на версии 2.1.XX API Яндекс.Карты и зависит от жизненного цикла данной версии. Данная библиотека не создана для полноценной работы с API и поддерживает только ограниченные фунции API Яндекс.Карты.
Приемущества данной библиотеки:
- Настройка и рендер карты через несколько строк кода
- Простое и быстрое добавление данных на карту
- Настройка кластеризации через одну переменную
- Возможность управления картой снаружи через HTML-элементы
- Простая группировка точек
- Простое создание маршрутов и точек в пути
- Простое управления стилями элементов на карте
- Конфигурирование элементов управления
Данный проект включает в себя React-приложение, которое может быть запущено, через следующую команду
npm start
Вы можете использовать это в качестве примера или для дальнейшей разработки поверх данного проекта.
Чтобы сгенерировать конечную версию StagiMap, запустите следующую команду
npm run bundle
Результат - минифицированная версия библиотеки, расположенная в dist
директории. Вы можете импортировать данную версию в свой проект для начала работы.
Экземпляр класса StagiMap
должен быть создан с параметрами, которые определят конфигурацию отображаемой карты.
import '../stagimap.min';
const map = new StagiMap({
...smOptions,
});
Система координат используется в следующем формате coordinateds = [LATITUDE, LONGITUDE]
.
Для полноценного использования Вам необходим Яндекс-аккаунт, чтобы создать ключ доступа к API.
Параметр | Формат | Описание |
---|---|---|
smOptions.apiKey |
string |
задает используемый ключ доступа к API Яндекс.Карты |
Вам необходимо определить локализацию карты в RFC-3066 формате (Получить информацию о поддерживаемых локализация можно по следующей ссылке - tech.yandex.com/maps/doc/intro/concepts/localization-docpage. Если локализация не задана, en
будет использована по-умолчанию.
Параметр | Формат | Описание |
---|---|---|
smOptions.locale |
RFC-3066 |
задает локализацию карты |
Главные параметры необходимы для правильного функционирования карты и включают в себя центер карты, рабочую зону, минимальный, максимальный и начальный масштаб.
Параметр | Формат | Описание |
---|---|---|
smOptions.containerId |
string |
выбирает DIV элемент на HTML шаблоне, через id-атрибут, для рендеринга карты |
smOptions.center |
coordinateds |
задает координаты центра карты |
smOptions.restrictArea |
[coordinateds, coordinateds] |
ограничивает рабочую зону карты через координаты верхнего-левого и правого-нижнего углов зоны (опционально) |
smOptions.initialZoom |
integer |
задает начальный масштаб в диапазоне 1 ... 16 |
smOptions.maxZoom |
integer |
задает максимальный масштаб в диапазоне 1 ... 16 |
smOptions.minZoom |
integer |
задает минимальный масштаб в диапазоне 1 ... 16 |
Возможность настройки кнопок масштабирования карты.
Параметр | Формат | Описание |
---|---|---|
smOptions.zoomButtons.inButton |
url |
задает изображение для кнопки "Увеличить масштаб" |
smOptions.zoomButtons.inText |
string |
задает текстовую подсказку для кнопки "Увеличить масштаб" |
smOptions.zoomButtons.inStyle |
string |
задает стилизацию для кнопки "Увеличить масштаб", к примеру, width: 30px; height: 30px; border-radius: 0px 0px 20px 20px; |
smOptions.zoomButtons.inPosition |
{top: integer, left: integer} |
задает позиционирование для кнопки "Увеличить масштаб" |
smOptions.zoomButtons.outButton |
url |
задает изображение для кнопки "Уменшить масштаб" |
smOptions.zoomButtons.outText |
string |
задает текстовую подсказку для кнопки "Уменшить масштаб" |
smOptions.zoomButtons.outStyle |
string |
задает стилизацию для кнопки "Уменшить масштаб", к примеру, width: 30px; height: 30px; border-radius: 0px 0px 20px 20px; |
smOptions.zoomButtons.outPosition |
{top: integer, left: integer} |
задает позиционирование для кнопки "Уменшить масштаб" |
Ability to set and customize geolocation buttons.
Параметр | Формат | Описание |
---|---|---|
smOptions.geolocation.geoButton |
url |
задает изображение для кнопки "Местоположение" |
smOptions.geolocation.geoText |
string |
задает текстовую подсказку для кнопки "Местоположение" |
smOptions.geolocation.geoStyle |
string |
задает стилизацию для кнопки "Местоположение", к примеру, width: 30px; height: 30px; border-radius: 0px 0px 20px 20px; |
smOptions.geolocation.geoPosition |
{top: integer, left: integer} |
задает позиционирование для кнопки "Местоположение" |
smOptions.geolocation.icon |
url |
задает изображение для иконки "Местоположение" на карте |
smOptions.geolocation.sizePoint |
[integer, integer] |
задает размер иконки "Местоположение" [WIDTH, HEIGHT] |
smOptions.geolocation.offsetPoint |
[integer, integer] |
задает отступ иконки "Местоположение" [L-OFFSET, T-OFFSET] |
Параметр | Формат | Описание |
---|---|---|
smOptions.cluster |
boolean |
объединяет точки на карте в кластер в зависимости от масштаба |
Точки могут быть добавлены на карту через параметр smOptions.data
, основываясь на изложенной схеме.
Параметр | Формат | Описание |
---|---|---|
smOptions.data[i].coordinates |
coordinateds |
задает центр точки на карте |
smOptions.data[i].html |
string |
задает контент для балуна точки как текст или HTML-строка |
smOptions.data[i].title |
string |
задает заголок для балуна точки |
smOptions.data[i].icon |
url |
задает изображение для иконки точки на карте |
smOptions.data[i].sizePoint |
[integer, integer] |
задает размер иконки точки [WIDTH, HEIGHT] |
smOptions.data[i].offsetPoint |
[integer, integer] |
задает отступ иконки точки [L-OFFSET, T-OFFSET] |
smOptions.data[i].group |
string |
задает группу точки, если необходимо |
Маршрутизатор позволяет строить на карте мультимаршруты между заданными точками.
Параметр | Формат | Описание |
---|---|---|
smOptions.router.startPoint |
coordinateds |
задает координаты начальной точки пути |
smOptions.router.endPoint |
coordinateds |
задает координаты конечной точки пути |
smOptions.router.maxWays |
integer |
задает максимальное количество возможных маршрутов между точками |
smOptions.router.refPoints |
[coordinateds] |
задает координаты промежуточных точек на заданном пути |
Возможность отображения траффика на дорогах доступна только для объектов на территории России, Беларуси, Казахстана и Турции.
Параметр | Формат | Описание |
---|---|---|
smOptions.traffic |
boolean |
включает на карте слой с отображение траффика на дорогах |
Указанные HTML атрибуты могут быть использованы на элементах шаблоны для управления картой снаружи.
Параметр | Формат | Описание |
---|---|---|
sm-point |
index |
сдвигает центр карты к заданной точке по ее индексу в массиве smOptions.data |
sm-move |
integer, integer |
сдвигает центр карты к заданным координатам (долгота и широта), к примеру, sm-move="0, 0" |
sm-show |
string |
меняет видимость точек, через заданную группу, для точек с указанной группой smOptions.data[i].group . Если идентификатор группы не задан на атрибуте, отображает все группы при клике на элемент. |