Хабаровск, ул. Волочаевская 181Б, офис 413/4

Вы здесь

Google карты для Drupal 7

01.02.2016

Для Drupal 7 CMS есть несколько способов добавить карты на сайт. Если нужно добавить всего одну карту на сайт (например на статичную страницу контактов) можно использовать карты яндекс. Но насколько мне известно они весьма скудно изменяемы в плане дизайна. Есть несколько модулей для добавления функционала карт на сайт, я буду использовать один из таких модулей.

Итак, использовать будем модуль Get Locations. Рассмотрим весь процесс начиная с установки.

Качаем сам модуль и модуль libraries (если он еще не установлен). Устанавливаем и включаем модули из Get Locations (мне хватило getlocations и getlocations_blocks) . Далее идем на страницу модуля на drupal.org и качаем маркеры. Необходимы хотя бы основные маркеры. Далее распаковываем этот архив в папку sites/all/libararies (получается sites/all/libraries/getlocations/markers/папки_с_маркерами).

Идем на страницу настройки модуля в системе (admin/config/services/getlocations) или на панели администратора: Конфигурация –> Веб-службы -> Getlocations. Если модуль пишет ошибку, что не найдено маркеров, жмем кнопку восстановить, если все нормально будет выводиться количество подгруженных меток. 

Можно сказать, что теперь у нас в системе есть рабочий модуль гугл карт. На сайте появится новый тип поля Getlocations Fields. Можно его добавлять, забивать адреса (и геокодировать их) или координаты и радоваться, что в данной ноде выводится карта. Карта будет отображаться если в настройках отображения типа материала, это поле отображается, там же можно настроить дополнительные опции отображения.

1_mini.jpg

На странице настройки модуля есть множество различных опций можно с ними поиграть, так же есть еще одна вкладка для настройки полей Getlocations для типов материалов. На этой странице также можно задать свои стили – для всех карт на сайте. Просто в поле Default styles пишем свои стили, кстати, под этим полем есть ссылка на сервис стилизации карт. Пользуясь сервисом генерируем стили и вставляем их в поле. Вуаля, наши карты преобразились.

2_mini.jpg

Теперь рассмотрим работу с вьюс. Например, нам нужно выводить карты для филиалов компании, или для каждого офиса, или для партнеров или для чего бы там ни было. Мы создаем необходимый тип материала, добавляем в него поле Getlocations Fields (ну и другие поля если нужно), создаем несколько материалов данного типа. Дальше создаем представление (например, страницу) для данного типа материала.

Выбираем удобный формат отображения, добавляем поле с картой и другие поля. Тут в настройках поля опять же можно настроить отображение карты (переопределить те, что на странице настроек модуля). Можно брать определенные пункты из поля Getlocations например город, улицу, координаты и т.д в качестве отдельных полей views.

3_mini.jpg

Результат. Намного красивее чем если использовать стандартный дизайн.

Так же можно заметить, что тут используется нестандартная метка. Без особых разбирательств как это делать правильно, я вырезал иконку, закинул ее в одну из папок с маркерами и поправил .ini файл, добавив туда регистрацию нового маркера.

[tnd_marker]
name = "Tnd_Marker"
sequence = "tnd_marker.png"

Осталось «восстановить» маркеры на странице настройки модуля и выбрать новый маркер для использования его по-умолчанию.