Drupal

индекс
142,25

Выводим ноды на Google Maps

Предположим, что у нас есть достаточно простая задача — показывать на карте местоположение объектов (нод, пользователей). Например, офисов, или, скажем, магазинов подарков. Т.е. мы должны получить страницу, где выводится карта с расположением всех объектов заданного типа, и показать карту на странице каждого отдельного объекта. Речь пойдет о 6-ой версии Друпала, но в 5-ке всё аналогично (если честно, скрин в конце снят именно с Drupal 5). Чтобы выполнить эту задачу я буду использовать следующие модули: GMAP, Location, Views (на сайте у меня используются еще и CCK & Contemplate, но они в этой задаче настолько вспомогательны, что говорить о них не стоит).включение модулейИтак, качаем-включаем. Для нормальной работы GMAP нам потребуется получить у гугла Google Maps API Key. Дело это бесплатное и быстрое. Полученный ключ вводим в настройках GMAP, затем выставляем настройки для карты. настройки GMapCледом нам придется настраивать модуль Location (он же Местанахождение… долго искал)настройки модуля Location
Главное, что нас тут должно волновать — страна и галка "Use a Google Map to set latitude and longitude "Что ж, теперь разрешим использование геолокации для наших материалов. Итак, у меня уже есть тип материала "Офис", записи в котором я и буду выводить на карту:разрешаем использование координат для нодыВыше я указал, что для каждой записи может быть только один адрес, задал город и страну по умолчанию. Осталось совсем немного: создадим карту, где будут показываться все объекты и выведем карту на странице самого объекта.Вывод общей карты делаем через View:создание представления для вывода данных на картеГлавное здесь — Стиль: Gmap. Ну и список полей с фильтром… Теперь осталось показать карту на странице самого офиса. Тут придется малость влезть в код. Итак, в шаблон для этого типа материалов я добавил следующую конструкцию:<?php print gmap_simple_map($node->locations[0]['latitude'], $node->locations[0]['longitude'], '', '<strong>'.$node->locations[0]['name'].'</strong><br/>'.$node->locations[0]['street'], 15, '650px', '400px', FALSE,''); ?>Т.е. вывожу карту размером 650х400 пикселей, показываю на ней маркер, в окошке с описанием пишу название ноды и адрес. Вот, собственно, и всё… Попробуем в действии? Добавим запись и проставим там местоположение:
редактирование материала, указываем координатыПосмотрим, как выглядит карта на странице объекта:дом Зингера на картеА вот так выглядит страница со списком объектов. Пока, их, правда, только 2, так что не слишком впечатляет:карта офисовВпрочем, можно показать, скажем, список магазинов подарков в Петербурге или местоположение львиных статуй в Питере:список магазинов подарков в Санкт-Петербурге
+6
6 апреля 2009, 00:33
36

комментарии (13)

0
extr #
Спасибо за продвижение Друпала в народ! Для новичков статья будет полезна.
+1
Razunter #
А при выборе местонахождения можно просто кликнуть по карте, чтобы координаты вписались сами?
+2
celarent #
да. именно так и происходит: ставишь маркер на карту, координаты заполняются сами.
+1
Razunter #
Отлично! Когда я тестил, этого не было… вроде :)
+3
celarent #
это еще в 5-ке появилось. сейчас просто надо не забыть галку «Use a Google Map to set latitude and longitude». дальше всё на автомате.
+1
andron13 #
решпект и уважуха. мне очень надеюсь статья поможет.
0
boodooboo #
Модуль неплохой и описано хорошо, но у Google подробные карты только самых крупных городов, впрочем как и у Яндекса. Хотел поставить на сайт этот модуль, а для Мурманска только вид со спутника. Так что теперь ждем пока Google наш городишко отрисует.
0
ufoweb #
Подскажите пожалуйста
Я делаю все по инструкции и на выборе
Главная › Управление › Конструкция сайта › Views
Edit view office
Style: Unformatted

При смене style на GMap
вылетает: An error occurred at .../admin/build/views/ajax/display/office/default/style_plugin

Я решил в кои таки веки разобраться в друпале и сижу все лишь за его изучением второй день, подскажите плиз в чем может быть проблема?
0
Mixa #
А япервый раз юзаю друпал, поставил специально для того чтобы создать свой каталог точек и треков. Так вот никак не могу найти где эта конструкция сайта…
0
kenoko #
А как можно в page.tpl.php вывести карту при помощи каких функций, чтоб был маркер и описанием которое нужно именно нам? Увы не получается :(
0
mrded #
у меня во вьюхе если тыкнуть на маркер не выводится информация.

чето все облазил, не могу понять с чем это связано. не подскажите?
+1
GolovaNoga #
рекомендуют на дев версии модулей обновиться drupal.org/node/704474, мне помогло
0
mrded #
о! спасибо. действительно помогло

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.