Здравствуйте!
Два месяца назад передо мной поставили задачу организовать на сайте карту с метками.
Не важно, на каком движке, главное, чтобы в рамках нужного района были все адреса и возможность поиска. Также необходимо было учесть, что заполнять карту будут обычные люди с базовыми навыками пользования компьютером.
Ранее я уже использовал API Яндекс.Карт. Проверив наличие необходимых мне адресов, я приступил к реализации.
Результаты поиска готовых решений меня не удовлетворили. Оценив время на разработку нового модуля, я пришел к выводу, что быстрее для меня будет темизировать вывод модуля Views.
Я создал новый тип контента, содержащий поля для координат, типа метки (тип метки на выходе задает стиль значка), и содержимого балуна.
На выходе мне нужен был скрипт примерно такого вида:
Я создал View с выводом нужных мне полей и добавил в него блок.
В настройках блока, в Basic setting, кликнув на Theme: Information можно получить список файлов для темизации:

В итоге, для вывода карты, мне потребовалось немного переделать вывод всего пяти файлов модуля Views:

Файл views-view-field--megamap-view--field-megacoords-value.tpl.php отвечает за вывод координат:
Файл views-view-field--megamap-view--field-placemark-description-value.tpl.php выводит стиль метки:
В шаблон страницы уже включен скрипт формирования карты и стилей для меток, поэтому включив блок Views в шапку сайта, я получил вывод:
А вот, собственно, сама карта:

Возможно, это не самое изящное решение, но я получил определенный опыт.
Надеюсь, для людей, которые начинают осваивать Drupal, данная статья окадется полезной.
Два месяца назад передо мной поставили задачу организовать на сайте карту с метками.
Не важно, на каком движке, главное, чтобы в рамках нужного района были все адреса и возможность поиска. Также необходимо было учесть, что заполнять карту будут обычные люди с базовыми навыками пользования компьютером.
Ранее я уже использовал API Яндекс.Карт. Проверив наличие необходимых мне адресов, я приступил к реализации.
Результаты поиска готовых решений меня не удовлетворили. Оценив время на разработку нового модуля, я пришел к выводу, что быстрее для меня будет темизировать вывод модуля Views.
Я создал новый тип контента, содержащий поля для координат, типа метки (тип метки на выходе задает стиль значка), и содержимого балуна.
На выходе мне нужен был скрипт примерно такого вида:
var now_house = new YMaps.Placemark(new YMaps.GeoPoint(82.814885,54.992361), {hideIcon: true, style:washome}); //Создание метки с заданными координатами и стилем washome
now_house.setBalloonContent('Благоустройство внутриквартальных территорий, ул. Невельского, 55
'); //Задание содержимого балуна
map.addOverlay(now_house);
Я создал View с выводом нужных мне полей и добавил в него блок.
В настройках блока, в Basic setting, кликнув на Theme: Information можно получить список файлов для темизации:

В итоге, для вывода карты, мне потребовалось немного переделать вывод всего пяти файлов модуля Views:

Файл views-view-field--megamap-view--field-megacoords-value.tpl.php отвечает за вывод координат:
<?php print "var now_house = new YMaps.Placemark(new YMaps.GeoPoint(".$output."), {hideIcon: true, "; ?>
Файл views-view-field--megamap-view--field-placemark-description-value.tpl.php выводит стиль метки:
<?php print "style:".$output."});"; ?>
В шаблон страницы уже включен скрипт формирования карты и стилей для меток, поэтому включив блок Views в шапку сайта, я получил вывод:
var nowhome = new YMaps.Style();
nowhome.iconStyle = new YMaps.IconStyle();
nowhome.iconStyle.href = "images/b-home.png";
nowhome.iconStyle.size = new YMaps.Point(30, 41);
nowhome.iconStyle.offset = new YMaps.Point(-15, -49);
nowhome.iconStyle.shadow = new YMaps.IconShadowStyle();
nowhome.iconStyle.shadow.href = "images/iconshadow.png";
nowhome.iconStyle.shadow.size = new YMaps.Point(50, 30);
nowhome.iconStyle.shadow.offset = new YMaps.Point(-15, -37);
...
var now_house = new YMaps.Placemark(new YMaps.GeoPoint(82.814885,54.992361), {hideIcon: true,
style:nowhome});
now_house.setBalloonContent('Благоустройство внутриквартальных территорий, ул. Невельского, 55
'); map.addOverlay(now_house);
А вот, собственно, сама карта:

Возможно, это не самое изящное решение, но я получил определенный опыт.
Надеюсь, для людей, которые начинают осваивать Drupal, данная статья окадется полезной.