Список изменений.
Кто пользуется модулем Mappy, возможно заметили, что на неделе вышло обновление в виде релиза новой версии 7.x-1.3. Сейчас я поведаю, что же я там натворил за такой промежуток времени.
Итак, что же принес данный релиз. Вот короткий список изменений:
- Добавлена кластеризация для Google.Maps. Вызывается она атрибутом clusters=”true”.
- Теперь можно использовать (теоретически) неограниченно количество карт на одной странице. Например можно влепить 3 гуглокарты, если такое потребуется. Допустим у вас карта в футере и на странице контактов, раньше бы они конфликтовали, сейчас отработают обе карты, каждая со своими параметрами. Также, у Яндекс.Карт есть прокладка маршрута, она также работает с несколькими картами.
- Добавлен новый метод вставки карт на сайт через фильтры (токен). Об этом я напишу ниже в статье.
- Zoom, with и height получили значения по умолчанию, теперь вставка карты стала проще как никогда, достаточно указать один адрес и готово!
- Собственно чтобы многие из этих возможностей достичь, я переписал все JS файлы, поэтому теперь код стал лучше и гибче.
- Google JS API теперь не грузится на каждой странице, он грузится при обнаружении гуглокарт.
- Добавлена административная панель: - Возможность выбора где будет загружаться основной Mappy.js файл. Реализовано по типу вывода блоков.
- Возможность указывать для Google и Яндекс карт значения по-умолчанию для ширины и высоты. В случае если карта вставляется без данных параметров, только по адресу, будут использоваться ширина и высота из настроек.
- Атрибуты больше не чувствительны к регистру. Решает проблему, когда пишем zoomControl, потом его браузер/фильтр сводит к нижнему регистру и JS файл его не видит.
Новый метод вставки - фильтры
Данный метод вставки выполняется при добавлении материала, или откуда угодно, где есть текстовое поле с фильтром.
Для вставки карты используется токен вида: [mappy:service address:'']
- его
аналог на html - <mappy:service address=””></mappy:service>
.
Добавление атрибутов делается также как и в теге, единственно отличие токена от тега, это нет необходимости закрывать его, начинается и закрывается [], вместо равно указывается двоеточие, а вместо двойных кавычек - одинарные.
<google address="г. Пермь" height="300" width="600" zoom="17"></google>
[mappy:google address:'г. Пермь' zoom:17 width:600 height:300]
Как вы могли заметить, одинарные кавычки не обязательны, используйте их при указании длинных значений, которые содержат символы пробела и пунктуации. Это позволит предотвратить ошибки парсинга. Для большей стабильности можно оборачивать все значения в одинарные кавычки, результат будет тот же.
Ну и разумеется чтобы вместо него появилась карта, в нужном фильтре надо включить опцию Mappy:
Важное замечание. Если вы используете фильтр “Ограничить допустимые HTML
теги”, то в список разрешенных также необходимо добавить
На этом все. В текущем состоянии модуль справляется с поставленными задачами очень хорошо. Новый функционал пока что не предвидится, я его просто не могу придумать. Возможно следующим шагом будет добавление сервиса для других карт, на примете OpenStreet. Мне они очень нравятся и очень информативны.
Комментарии
Добрый день! Спасибо за отличный модуль!
Как насчет поддержки 2GIS? Имхо, их карты самые информативные, и api у них норм.
Добрый день. На счёт 2gis ничего сказать не могу.
Мб сделаю, посмотрим, пока не до дубльгиса. Мне больше как-то openlayers нравятся, также точны, но намного информативнее 2гис.
Просто раньше у них эти карты лагали как хз что, если они и сейчас так лагают, какой смысл в них?
Дело в том, что для openlayers уже существуют неплохие модули, а 2gis как-то в стороне остается, хотя сервис достаточно приятный.
карты дубльгис сделаны на openstreet map
Тут дело не в том, на чёмсделаны, а их Лицензионное соглашение. Они требуют установки прямой ссылки на их сай, а иначе начинают грубо общаться. Вообще какие-то они мутные. Их пиарять на халяву, устанавливая карты, увеличивают показы их же рекламы на карте и востребованность, а они еще умудряются наглеть и требовать что-то взамен с тех кто их пиарит. По крайней мере раньше так было, у них все ЛС мутное.
Кому не лень, прочитайте их ЛС полностью, остались ли там такие убогие пункты?
Никита, скажите, пожалуйста, баги с отображением зума и других элементов управления вызваны сменой интерфейса на гуглкартах? И если да, то планируете ли вы обновлять модуль?
А, не, это стили перекрыись, всё ок.
После установки модуля вот такая ошибка Fatal error: Class Drupal\mappy\Form\MappySettingsForm contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (Drupal\Core\Form\ConfigFormBase::getEditableConfigNames) in /var/www/kxqlazzo/data/www/infopogreb.h1n.ru/modules/mappy/src/Form/MappySettingsForm.php on line 142. Можно что-то сделать? Drupal 8.3.0
Я пока версий под 8-ку не занимаюсь, хочу вообще переработать полностью. Не знаю даже что тут посоветовать. Но судя по ишьюсам у людей работает они шлют патчи лишь на синтаксис.
Опубликуйте плиз ссылку на сам модуль, а то поиск пока не дал результатов.