Документация к модулю маркетплейса 1С-Битрикс "Карта событий"

Модуль "Карта событий" представляет собой удобный инструмент, позволяющий разместить на карте события разных типов.

Описание функционала модуля

После установки модуль "Карта событий" доступен в административной части сайта на вкладке Настройки:

1.JPG

С помощью модуля можно размещать на карте события разных типов. При установке модуля автоматически заводятся демо события и демо типы. Посмотреть и отредактировать события и типы можно на вкладках "Список событий" и "Список типов событий", а создать - на вкладках "Добавить событие" и "Добавить тип события".

Поля, доступные при добавлении и редактировании события:
  • Активность - отвечает за отображение события, неактивные события скрываются
  • Начало активности и Окончание активности - задают временной интервал активности события
  • Название - заголовок события на карте, например "Фестиваль спорта" или "Авария"
  • Тип события - предварительно созданный тип события 
  • Координаты - координаты события на карте. Могут задаваться щелчком по карте или при выборе объекта в строке поиска.
  • Описание - более подробное описание события, которое раскрывается при щелчке на балун на карте.
Поля, доступные при добавлении и редактировании типа события:
  • Название - внутрисистемное название типа событий, никак не отображается в публичной части сайта
  • Цвет маркера - изменение цвета балуна у событий данного типа
  • Изображение маркера - небольшая картинка, которая будет отображаться на карте вместо балуна у событий данного типа. Если не заполнено поле "Изображение маркера", то маркеры отображаются c цветом из поля "Цвет маркера". Если не заполнено ни поле "Изображение маркера", ни поле "Цвет маркера", то маркеры отображаются cо стилем по умолчанию.

Настройки модуля

Настройки модуля доступны на вкладке Настройки -> Настройки продукта -> Настройки модулей -> Карта событий.

2.jpg

Для удобства пользователей в меню модуля создана дублирующая вкладка "Настройки". В настройках задаются параметры карты, отображаемой в административной части сайта, кроме того, они используются по умолчанию в компоненте tega:eventmap, но могут быть переопределены пользователем.
Перечень доступных настроек карты:
  • Ключ Яндекс API: Здесь вы можете ввести ключ для работы с API Яндекс.Карт. Это не обязательно, однако при возникновении каких-либо проблем в работе с API этот ключ может упростить их решение, его стоит указывать при обращении в службу поддержки. Подробнее: https://tech.yandex.ru/maps/keys/get/
  • Центр карты: координаты центра карты. Могут задаваться щелчком по карте или при выборе объекта в строке поиска.
  • Ширина и Высота карты: размеры карты, с единицами измерения, принятыми в WEB — проценты(%), пикселы (px), пункты (pt) и др.
  • Масштаб: начальный масштаб карты. В комплектацию модуля входит компонент tega.eventmap, который отображает созданные события в публичной части сайта.

Компонент tega.eventmap

В комплектацию модуля входит компонент tega.eventmap, который отображает созданные события в публичной части сайта. Перечень параметров компонента:
  • Ключ Яндекс API: Здесь вы можете ввести ключ для работы с API Яндекс.Карт. Это не обязательно, однако при возникновении каких-либо проблем в работе с API этот ключ может упростить их решение, его стоит указывать при обращении в службу поддержки. Подробнее: https://tech.yandex.ru/maps/keys/get/
  • Имя фильтра: имя переменной для фильтрации событий на карте. Подробнее рассмотрим фильтрацию ниже.
  • Элементы управления: редактирование набора элементов управления карты. Можно, например, добавить/скрыть отображение пробок или интерфейс построения маршрута.
  • Центр карты: координаты центра карты. Могут задаваться щелчком по карте или при выборе объекта в строке поиска.
  • Ширина и Высота карты: размеры карты, с единицами измерения, принятыми в WEB — проценты(%), пиксели (px), пункты (pt) и др.
  • Масштаб: начальный масштаб карты. В комплектацию модуля входит компонент tega.eventmap, который отображает созданные события в публичной части сайта.

Пример карты с событиями разных типов:

3.jpg

Работа с API D7

События и типы событий являются сущностями ядра D7. Поэтому с ними можно работать с помощью API D7, например, можно выбирать записи с помощью функции getList, удалять - с помощью delete, и т. д. В частности внутри компонента tega.eventmap вызывается метод getList, в который передается переменная, заданная в параметре "Имя фильтра".

Ниже представлено несколько примеров ограничения выборки событий в tega.eventmap через фильтр.

Вывести события, название которых начинается с буквы О

<?
$arrEventMapFilter = array(
    'filter' => array("NAME" => "О%")
);
$APPLICATION->IncludeComponent(
    "tega:eventmap",
    "",
    Array(
        "CACHE_TIME" => "3600",
        "CACHE_TYPE" => "A",
        "COMPOSITE_FRAME_MODE" => "A",
        "COMPOSITE_FRAME_TYPE" => "AUTO",
        "FILTER_NAME" => "arrEventMapFilter",
        "MAP_CENTER" => "55.75140850504217,37.61886666019786",
        "MAP_CONTROLS" => array("trafficControl","zoomControl"),
        "MAP_HEIGHT" => "300px",
        "MAP_WIDTH" => "100%",
        "MAP_ZOOM" => "10",
        "YANDEX_API_KEY" => ""
    )
);?>

Вывести не более двух событий, тип событий которых "Спорт" или "Культура" (при условии, что 14 и 16 - ID соответствующих типов событий):

<?
$arrEventMapFilter = array(
    'filter' => array("TYPE_ID" => array(14, 16)),
    'limit' => 2
);
$APPLICATION->IncludeComponent(
    "tega:eventmap",
    "",
    Array(
        "CACHE_TIME" => "3600",
        "CACHE_TYPE" => "A",
        "COMPOSITE_FRAME_MODE" => "A",
        "COMPOSITE_FRAME_TYPE" => "AUTO",
        "FILTER_NAME" => "arrEventMapFilter",
        "MAP_CENTER" => "55.75140850504217,37.61886666019786",
        "MAP_CONTROLS" => array("trafficControl","zoomControl"),
        "MAP_HEIGHT" => "300px",
        "MAP_WIDTH" => "100%",
        "MAP_ZOOM" => "10",
        "YANDEX_API_KEY" => ""
    )
);?>

Перечень полей сущности событие:
  • ID - идентификатор
  • NAME - название
  • ACTIVE_FROM Начало активности
  • ACTIVE_TO Окончание активности
  • ACTIVE - активность
  • COORDINATES - координаты
  • TYPE_ID - идентификатор типа события

Все вопросы и пожелания по работе модуля присылайте на web@tega.ru.