Mappy 7.x-1.3. Новые возможности и фиксы

Кто пользуется модулем 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>.

Добавление атрибутов делается также как и в теге, единственно отличие токена от тега, это нет необходимости закрывать его, начинается и закрывается [], вместо равно указывается двоеточие, а вместо двойных кавычек - одинарные.

html

<google address="г. Пермь" height="300" width="600" zoom="17"></google>
token
[mappy:google address:'г. Пермь' zoom:17 width:600 height:300]

Как вы могли заметить, одинарные кавычки не обязательны, используйте их при указании длинных значений, которые содержат символы пробела и пунктуации. Это позволит предотвратить ошибки парсинга. Для большей стабильности можно оборачивать все значения в одинарные кавычки, результат будет тот же.

Ну и разумеется чтобы вместо него появилась карта, в нужном фильтре надо включить опцию Mappy:

Mappy filter

Важное замечание. Если вы используете фильтр “Ограничить допустимые HTML теги”, то в список разрешенных также необходимо добавить и , или только тот, карты которого будут вставляться.

На этом все. В текущем состоянии модуль справляется с поставленными задачами очень хорошо. Новый функционал пока что не предвидится, я его просто не могу придумать. Возможно следующим шагом будет добавление сервиса для других карт, на примете OpenStreet. Мне они очень нравятся и очень информативны.

Комментарии

Diemon
чт, 05/12/2013 - 16:56

Добрый день! Спасибо за отличный модуль!
Как насчет поддержки 2GIS? Имхо, их карты самые информативные, и api у них норм.

Niklan
чт, 05/12/2013 - 17:07

Добрый день. На счёт 2gis ничего сказать не могу.
Мб сделаю, посмотрим, пока не до дубльгиса. Мне больше как-то openlayers нравятся, также точны, но намного информативнее 2гис.
Просто раньше у них эти карты лагали как хз что, если они и сейчас так лагают, какой смысл в них? 

Diemon
чт, 05/12/2013 - 20:00

Дело в том, что для openlayers уже существуют неплохие модули, а 2gis как-то в стороне остается, хотя сервис достаточно приятный.

Niklan
пн, 25/08/2014 - 21:53

Тут дело не в том, на чёмсделаны, а их Лицензионное соглашение. Они требуют установки прямой ссылки на их сай, а иначе начинают грубо общаться. Вообще какие-то они мутные. Их пиарять на халяву, устанавливая карты, увеличивают показы их же рекламы на карте и востребованность, а они еще умудряются наглеть и требовать что-то взамен с тех кто их пиарит. По крайней мере раньше так было, у них все ЛС мутное.
Кому не лень, прочитайте их ЛС полностью, остались ли там такие убогие пункты?

Василий
пн, 08/09/2014 - 23:51

Никита, скажите, пожалуйста, баги с отображением зума и других элементов управления вызваны сменой интерфейса на гуглкартах? И если да, то планируете ли вы обновлять модуль?

Анатолий
пн, 17/04/2017 - 16:01

После установки модуля вот такая ошибка 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

Niklan
пн, 17/04/2017 - 19:09

Я пока версий под 8-ку не занимаюсь, хочу вообще переработать полностью. Не знаю даже что тут посоветовать. Но судя по ишьюсам у людей работает они шлют патчи лишь на синтаксис.

Добавить комментарий

Поддерживается Markdown
Поделиться