В этом материале будет показано как с помощью связки из модулей Content Profile, Location, и GMap сделать на сайте карту, которая отображала бы местоположения всех пользователей Вашего сайта. Для начала загрузите с сайта drupal.org и затем распакуйте в папке modules Вашего сайта следующие модули:
- Content
- Location
- Location CCK
- Content Profile
- GMap
- GMap Location
- Views
- Views UI
Активируйте данные модули. Не забудьте выставить в разделе «Разрешения» пользователям соответствующие права на использование модулей.
Далее Вам необходимо настроить модули. На странице настройки модуля GMap (admin/settings/gmap) нужно добавить ключ API для Google maps и активировать параметр Use AutoZoom. На странице настройки модуля Location (admin/settings/location) включите флажок напротив параметра «Google Map to set latitude and longitude» (это позволит организовать совместную работу модулей Gmap и Location) и активировать параметр JIT geocoding. В разделе Geocoding (admin/settings/location/geocoding), Вы должны активировать использование Google Maps для нужных стран.
Модуль Content Profile после активации создает новый тип материала, который называется "Profile" (профиль пользователя). В этом типе материалов Вам нужно добавить новое поле (cck field) для того, которое потом позволит пользователю указать свое местоположение (admin/content/node-type/profile/fields).

И при создании нового поля вводим следующую информацию:
- Label: Местонахождение
- Field: location
- Select Field Type: Location
- Widget: Location Field
И сохраняем поле. В появившемся новом окне с более подробными настройками поля измените параметры по своему усмотрению, или оставьте их по умолчанию:
Теперь, при создании или редактировании профиля (node/add/profile) пользователь сможет указать на карте координаты своего местоположения.
Если все работает правильно, то после сохранения материала и возвращения на страницу редактирования материала профиля (node/*/edit), Вы увидите карту google maps и маркер на том месте на карте, которое было указано пользователем.

Теперь вы можете создать новый вид (views) (admin/build/views/add), чтобы можно было отобразить местоположение пользователей на карте. Введите название Вашего вида, тип “node” и нажмите кнопку «Далее». Добавьте новый фильтр "Node: Type" - "Profile". Добавьте новую взаимосвязь (relationship) и выберете Content: Location (field_location). И добавьте поля "Location: Latitude" (используя Location relationship), "Location: Longitude" (используя Location relationship) и другие поля, которые Вы хотите чтобы отображались на карте. Стиль вида (Style) - «GMap». В настройках необходимо выбрать "Choose latitude and longitude fields" и укажите соответствующие поля для указания координат (широты и долготы).


Ну, вот, карта и готова, осталось сделать либо новый блок, либо отдельную страницу. И вы увидите на карте в виде маркеров местоположение всех пользователей, которые указали свои координаты в профиле.





Комментарии (2)
Отличный модуль, спасибо
Интересно, надо будет попробовать
Отправить комментарий