[YandexMaps2] 1.1.2 Полноценная работа с mFilter2 и кастомизация плагинами
- Добавлен новый метод работы с mFilter2, поддерживающий вывод результатов в текстовом виде
- Добавлено событие плагина ymOnLoadObjects с параметрами: array $data, array $objects, array $snippetProperties
- Добавлен параметр objectsInScope в сниппет YandexMaps2
- Добавлена системная настройка ym2_objects_in_scope для бек-энда
- Добавлены параметры defaultIconContent, defaultIconCaption и defaultBalloonContent в сниппет YandexMaps2
- Добавлен параметр scrollZoom в сниппет YandexMaps2
- Добавлен перехват ошибки из-за некорректного JSON в default.js
- Поправлено большинство конфликтов, возникающих из-за повторной загрузки jQuery
Сниппет YandexMaps2
Основной и единственный сниппет компонента получил 5 новых параметров.objectsInScope
Эту функцию многие знают с первой версии, там она называлась checkZoomRange. Если параметр активирован, то все объекты карты попадут в область видимости, независимо от установленных center и zoom. Особенно это удобно при использовании mFilter2, ибо при фильтрации совершенно нормально, когда все результаты поиска отображаются в поле зрения.Кстати, для бек-энда тоже добавлена такая системная настройка ym2_objects_in_scope.
scrollZoom
Зуммирование при скролле. Отключив эту функцию карта перестанет зумировать при скроллинге мышкой. Некоторые люди приходят в бешенство, когда эта функция активирована.defaultIconContent
defaultIconCaption
defaultBalloonContent
Эти параметры будут использованы, если у объекта на карте они не указаны.Более подробнее можно почитать в документации компонента, в разделе Сниппеты.
Взаимодействие с mFilter2
Компонент научился выводить результаты и на карте, и давать mFilter выводить их в текстовом виде. Настраивается это немного иначе, чем раньше, поэтому предлагаю всем перейти на новый способ взаимодействия, не смотря на то, что поддержка старого метода осталась.События для плагинов
У компонента появились события плагина. Пока одно, но в будущем их станет больше!ymOnLoadObjects
С помощью этого события мне уже удавалось:— добавлять точкам на карте свои иконки,
— выводить на фронт-энде объекты на карте, добавленные через MIGX.
Простора для действий, на самом деле, гораздо больше. При желании, можно полностью изменить список объектов на карте! Планирую сделать пару кейсов работы с этим плагином.
Ошибки и конфликты
И последнее, но не менее важное!Мне удалось выявить проблему работы в бек-энде с некоторыми компонентами. Между YandexMaps2 и компонентами, которые используют jQuery, происходил конфликт.
Ну и на фронт-энде, при выдаче mFilter2 сообщения о том, что результатов для вывод нет, компонент пытался распарсить эту строку, как JSON, от этого происходила ошибка.
Выявил и устранил!
Поблагодарить автора
Отправить деньги
Комментарии: 25
более менее понятно как работать с компнентом, но можно ли пояснить как передавать массив $objects
так координаты парсятся в бд и нужно на их основе создавать метку…
вот код чанка
так координаты парсятся в бд и нужно на их основе создавать метку…
вот код чанка
[[!YandexMaps2?
&defaultIconContent=`test`
&defaultBalloonContent=`test2`
&objects=`[{
type: 'placemark',
geometry: {
coordinates:[[!ymaps_center? &x=`[[*os_latitude]]` &y=`[[*os_longitude]]`]]
}
}]`
&class=`msProduct`
&objectsInScope=`true`
¢er=`[[!ymaps_center? &x=`[[*os_latitude]]` &y=`[[*os_longitude]]`]]`
]]
ymaps_center возвращает строку в виде [x, y]
В коде страницы можно посмотреть, что за свойства должны иметь объекты — prntscr.com/lonbzz
А вообще, завтра будет статья, как работать через событие плагина YandexMaps2 и добавлять точки из MIGX с кастомными иконками на фронт-энде. То, что вы хотите сделать костылями, можно реализовать изящнее, плагином.
А вообще, завтра будет статья, как работать через событие плагина YandexMaps2 и добавлять точки из MIGX с кастомными иконками на фронт-энде. То, что вы хотите сделать костылями, можно реализовать изящнее, плагином.
обязательно почитаю и применю, но пока этого хватит…
[[!YandexMaps2?
&objects=`[{
"type":"placemark",
"geometry":[[!ymaps_center? &x=`[[*os_latitude]]` &y=`[[*os_longitude]]`]]
}]`
&objectsInScope=`true`
¢er=`[[!ymaps_center? &x=`[[*os_latitude]]` &y=`[[*os_longitude]]`]]`
]]
при передаче &zoom он как был 10 так и остается :(
А вот и статья уже на Modx.pro.
отлично! :) так zoom меняется или нет? )
Конечно меняется. Почему нет? Вы вместе с objectsInScope его ставите?
[[!YandexMaps2?
&objects=`[{
"type":"placemark",
"geometry":[[!ymaps_center? &x=`[[*os_latitude]]` &y=`[[*os_longitude]]`]]
}]`
<strong>&zoom=`5`</strong>
&objectsInScope=`true`
¢er=`[[!ymaps_center? &x=`[[*os_latitude]]` &y=`[[*os_longitude]]`]]`
]]
вот страница plestate.ru/id-2.-prodazha-kottedzha-pod-otdelku-v-kp-solovi.html с этим шаблоном (.html дописать только) или перейти в коттеджи первый объект
Ну так читай доку, зачем меня доставать этими вопросами? Да ещё не в ТП компонента.
дружище, я ни в коем случае не хочу чем либо обидеть или достать тебя :)
вы пишите код, как сами говорите что он изящен и безупречен — верю! но в
доках порой неочевидно написано ( вот и приходится по разному доставать инфу
по поводу ТП — компонент заведен на другого человека, а разбираемся как всегда
ночью)
ps еще раз говорю, что не хотел бы чем то обидеть )
вы пишите код, как сами говорите что он изящен и безупречен — верю! но в
доках порой неочевидно написано ( вот и приходится по разному доставать инфу
по поводу ТП — компонент заведен на другого человека, а разбираемся как всегда
ночью)
ps еще раз говорю, что не хотел бы чем то обидеть )
как сами говорите что он изящен и безупреченЯ такого не говорю))
ps еще раз говорю, что не хотел бы чем то обидеть )Я не обижаюсь. Давно. Меня достаёт то, что люди не читают документацию, вот и всё.
но в доках порой неочевидно написаноСейчас уточню в доке, что objectsInScope отменяет center и zoom.
Хотелось бы еще увидеть демо-сайт. В частности интересно посмотреть визуально как работает компонент с mFilter2.
А в чем проблема? Заходите — смотрите. Ссылка есть на странице компонента в Модстор…
Не нашел там ссылку. Обычно кнопка «демо» находится рядом с кнопкой «документация». В описании тоже не нашел ссылку.
modstore.pro/packages/maps/yandexmaps2
modstore.pro/packages/maps/yandexmaps2
Очень странно! Добавил. ym2.h.owl.kz/index.php?id=15
Спасибо!
Доброго времени суток.
Планирую приобрести данный компонент, но прежде мне нужно удостовериться в том что он соответствуем моим требованиям.
Первый вопрос: Чем отличается параметр mode: default от mfilter2 помимо того что во втором используется платный компонент mSearch2?
Второй вопрос: Присутствует ли возможность редактировать шаблон множественного балуна?
Планирую приобрести данный компонент, но прежде мне нужно удостовериться в том что он соответствуем моим требованиям.
Первый вопрос: Чем отличается параметр mode: default от mfilter2 помимо того что во втором используется платный компонент mSearch2?
Второй вопрос: Присутствует ли возможность редактировать шаблон множественного балуна?
Второй вопрос: Присутствует ли возможность редактировать шаблон множественного балуна?Шаблоны балунов вообще не редактируются в компоненте.
Первый вопрос: Чем отличается параметр mode: default от mfilter2 помимо того что во втором используется платный компонент mSearch2?Не понял вопроса.
Есть ли возможность фильтрации меток/линий/зон не используя mSearch2?
Нету.
Благодарю за ответ.
Конструктор можно во фронте выводить? Допустим есть сайт с тикетс, нужно чтобы юзеры могли в своем тикете добавлять положение на карте
Нет. На данный момент нельзя.
Можно ли кастомизировать balloon? и каким способом? ибо в ранних версиях теги были закинуты в balloon на прямую. зы делал не я, сильно не пинать
В JS файле попробуйте кастомизировать код.
Здравствуйте! Извините, что туплю и не понимаю, как сохранить ресурс, чтобы в нем сохранились изменения на карте. Я поставил метки, сохранил документ, сбросил серверный кеш, сбросил браузерный кеш, а изменения так и не отображаются.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.