Иногда хочется обновить даже то, что и так неплохо выглядит и работает. И к нам в техподдержку обращались с вопросами использования в стандартном компоненте "Яндекс.Карты: настраиваемая карта" модуля "Народные карты", а также изменения стиля метки. Те кто хорошо знаком с API Яндекс.Карт смогут это сделать и без кастомизации компонента, но нас интересует именно функционал для конечного пользователя, который бы мог выбирать тип карты и стиль метки в настройках компонента. Поэтому будем кастомизировать. [spoiler] Скопируем компоненты "bitrix:map.yandex.system" и "bitrix:map.yandex.view" в своё пространство имён(в моём случае они были скопированы в "/bitrix/components/demo" и первым делом укажем в коде компонента "demo:map.yandex.system" использование версии 1.1 Яндекс.Карт, заменив:
if (!isset($arParams['YANDEX_VERSION']))
$arParams['YANDEX_VERSION'] = '1.0';
на:
if (!isset($arParams['YANDEX_VERSION']))
$arParams['YANDEX_VERSION'] = '1.1';
А в шаблоне компонента "demo:map.yandex.view" необходимо указать использование нового компонента "demo:map.yandex.system":
Мне показалось нелогичным название типов народных карт: "Схема" и "Гибрид", т.к. они совпадали с типами по умолчанию. Поэтому я решил их изменить на "Схема НК" и "Гибрид НК". Не стал создавать языковые фразы, но Вы это можете довольно легко сделать, при необходимости. Спускаемся ниже по коду компонента, до объявления доступных типов карты:
Чтобы новые типы карты и стили меток можно было выбирать при визуальном редактировании параметров компонента "demo:map.yandex.view", изменяем в файле ".parameters.php" параметр "INIT_MAP_TYPE":
В параметре 'PLAINSTYLE' указаны основные стили меток и дополнительный набор стилей. Их можно посмотреть здесь и здесь . А так как указан ключ 'ADDITIONAL_VALUES' => 'Y', то это позволяет указать любое название стиля метки, если его нет в доступных значениях параметра 'PLAINSTYLE'. И потребуется добавить параметр 'PLAINSTYLE' в массив $arTransParams в шаблоне компонента "demo:map.yandex.view".
Также, укажем вывод на карту переключателей новых типов карты и поместим их все в выпадающий список. Для этого в шаблоне компонента "demo:map.yandex.system" меняем строчку:
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».