Инструкция по смене иконок объектов на свои изображения:
1. Копируем файл js/geofield_ymap_presets.example.js
из папки модуля Geofield Yandex Maps в папку своего модуля или темы.
2. Прописываем в файле список своих пресетов. Пример:
ymaps.ready(function () {
ymaps.option.presetStorage.add('custom#examplePreset1', {
iconLayout: 'default#image',
iconImageHref: 'http://api.yandex.ru/maps/doc/jsapi/2.0/examples/images/myIcon.gif',
iconImageSize: [30, 42],
iconImageOffset: [-3, -42]
});
ymaps.option.presetStorage.add('custom#examplePreset2', {
iconLayout: 'default#image',
iconImageHref: 'http://api.yandex.ru/maps/jsbox/examples/maps/ru/geolocation_api/images/man.png',
iconImageSize: [27, 26],
iconImageOffset: [-10, -24]
});
// ...
});
3. На странице настроек модуля admin/config/system/geofield-ymap
прописываем путь до скопированного файла с пресетами:
4. В виджете, форматтере или представлении прописываем имя пресета:
Если в Views нужны разные пресеты для разных объектов, то добавляем в представление поле с именем пресета и указываем его в настройках стиля:
Написанное актуально для
Geofield Yandex Maps 7.x-1.x
Похожие записи
- Свой способ вывода точек на карте в Geofield Yandex Maps
- Модуль Geofield Yandex Maps — ввод и вывод гео-информации на Яндекс.Картах 2.1
- Модуль Geolocation Views — вывод данных на карте Google по данным из Geolocation Field
- Вывести на одной карте несколько точек по данным из Geolocation Field с помощью OpenLayers
- Как работает опция "Aggregation type" в настройках полей Views при включённой агрегации
Комментарии
Есть ли способ использовать относительный путь у изображению? Т.е. делаю плагин, в папку кладу файл с пресетами и рядом картинку. Сейчас пришлось вставить костыль с полным адресом, хотелось бы более красивое решение.
относительно чего?
Относительно папки с модулем. Или js-файла, в котором записан этот пресет.
Если в пресете просто указать "/folder/img.png", то скрипт ссылается на "site.ru/folder/img.png", а мне надо что-то вроде "site.ru/sites/all/modules/mymodule/img.png"
такой возможности нет
Здравствуйте, я не пойму, как сделать разные маркеры во views? Указываю во views в поле "Пресет объектов по умолчанию": custom#examplePreset1,custom#examplePreset2. Но выводится маркер по умолчанию, если указать один пресет, то он выведется, а если два, то нет. А в поле preset field я не знаю, где брать поле с именем пресетов.
поле создать
Какой тип поля нужно создать и что в него написать?
любой, в который можно прописать название пресета
Создал длинное текстовое поле и прописал в значение по умолчанию:
custom#examplePreset1
custom#examplePreset2
После указал в "Поле с пресетом" созданное поле и опять ничего. Не могли бы вы подробнее расписать этот момент, как правильно нужно это сделать?
1. добавить сущности поле
2. прописать у сущностей название пресета
3. добавить поле в views
4. указать поле в настройках
Это значит добавить поле к типу материала?
добавить поле тому, что вы выводите на карте
Привет. Я пока не тестил модуль. Скажи, можно сделать, чтобы у нод из разных терминов выводились свои метки?
можно
Добрый день. А возможно ли сменить иконку у кластера?
наблюдается косячок. Если сайт мультиязычный, то он ищет картинку по адресу с префиксом языка, например не sites/all/themes/bla/images/bla.png , а ru/sites/all/themes/bla/images/bla.png и собственно не находит.
Как можно побороть?
указывайте абсолютные пути
не очень удобно, но покатит! Спасибо Вам.
xandeadx, подскажите пожалуйста. Как настроить модуль, чтобы ноды с разными терминами показывали разные значки? Что нужно добавить в поле пресет?
в Preset field укажите поле с именем пресета
xandeadx, у меня есть тип материала. В нём есть ссылка на словарь терминов. Есть 10 нод данного материала. Допустим я добавляю в тип материала текстовое поле с название "Пресет", и задаю ему значение custom#examplePreset2 из js файла с описанием пресетов. В форматере Views я выбираю созданное поле "Пресет". Как это поможет отображать ноды разными флажками в зависимости от термина? (простите за непонятливость, но сижу уже целый день).
поле указанное в Preset field должно выводить имя пресета для текущего маркера
xandeadx, все понял. Получилось. Огромное спасибо.
Здравствуйте! Сделал все, как вы говорили, все работает, спасибо большое за информацию! Но возник такой небольшой вопрос. Я создал поле с пресетом в типе материала. В views все работате, показывает разными цветами. Но когда я добавляю тип материала, указываю пресет, он показывается всегда со стандартным пресетом. Возможно ли сделать так, чтобы и в типе материала объекты были разного цвета?
В модуле косяк с полем для пресета в том, что в селектах используется не ключ (value), а текстовое значение… Т.е. хрен потом используешь это поле для фильтров, например…
Доброго времени суток!
У меня возник вопрос: возможно ли в одном пресете указать настройки и для полигона и для иконки? Я попробовал вот так:
Для полигона настройки отображения применяются, а для иконки нет. Можете подсказать, где я ошибся?
Добавить комментарий