Google Maps. GMap и Location в Drupal 6

Настройка отображения местоположения нода на картах Google,
с использованием модулей GMap и Location.

Еще эту группу модулей называют Mapedelic, разрабатываться начала еще в 2005 году, поэтому видимо их настройка под определенные требования весьма не тривиальна, когда сталкиваешься с ними впервые.

Опишу здесь настройку Mapedelic под следующую задачу.
Допустим у нас есть ноды определенного типа, для которых надо указать их местоположение на карте.
Довольно распространенный случай, например, ноды - магазины или музеи на карте города.
На странице нода должен быть адрес и карта с маркером.

Примерно так:
Пример вывода карты в ноде

  1. Первое, что делаем - скачиваем и устанавливаем набор модулей GMap и Location
  2. Модули, которые должны быть включены:
    • Location
    • Node location
    • Location phone (необязательно, но скорее всего вам понадобится)
    • GMap
    • GMap location
  3. Модуль Node location (из набора Location, и все требуемые для него модули) должен быть включен.
    В настройках нашего типа контента теперь появилась группа элементов Location:
    Настройка модуля location

    В полях минимальное и максимально количество адресов указываем по 1 (как на скриншоте).
    Остальные настройки по вашему желанию.

    Теперь на странице редактирования нода можно указывать его адрес и телефон (тогда не забудте модуль Location Phone из комплекта Location). Но пока все это без карты.

  4. Для того, чтобы номер телефона был виден на странице нода, нужно добавить его в тему,
    т.е. из модуля Location копируем файл location.tpl.php в свою тему.
    И добавляем в него строчку:
    <span style="color: #000000"><span style="color: #0000BB">&lt;?php </span><span style="color: #007700">if (</span><span style="color: #0000BB">$phone</span><span style="color: #007700">) {echo </span><span style="color: #DD0000">'&lt;div&gt;'</span><span style="color: #007700">. </span><span style="color: #0000BB">$phone </span><span style="color: #007700">.</span><span style="color: #DD0000">'&lt;/div&gt;'</span><span style="color: #007700">;} </span><span style="color: #0000BB">?&gt;</span></span>
  5. Также может понадобиться убрать заголовок у группы элементов Location на странице нода.
    Тогда копируем файл locations.tpl.php из модуля Location в свою тему и
    вносим в него необходимые изменения.
  6. Теперь карты. Модуль GMap location (из набора GMap, и все требуемые для него модули) должен быть включен.
  7. В настройках модуля Location /admin/settings/location ставим галочку:
    Use a Google Map to set latitude and longitude
    теперь на странице редактирования нода можно указать местоположения прямо на карте,
    для многих стран положение определяется автоматически по адресу, введенному в полях Location.

    Настройте также сразу карту, на которой вы будете указывать положение Location chooser macro.

    [gmap |center=36.175, -115.136389|zoom=10]

    zoom=10 для отображения города на карте, а не целого материка :)

  8. Чтобы на странице нода появилась карта с его местоположением, нужно включить блок Location map
    В его настройках указываем размеры карты и другие параметры, если необходимо.

    Укажите также в списке урлов, на которых НЕ показывать блок
    node/*/edit
    иначе на странице редактирования нода не возможно будет указать положение прямо на карте.

  9. На странице нода, там где информация Location, будет показываться ссылка 'посмотреть на карте'.
    Чтобы ее убрать - отключаем соответствующую галочку в настройках нашего типа контента
    в группе полей Location -> Display settings
  10. Теперь у вас также есть возможность посмотреть местоположение всех нодов на одной карте
    по адресу /map/node
    Ее настройки - это настройки модуля Gmap location по адресу /admin/settings/gmap_location.
  11. Осталось только указать права доступа на просмотр карт для посетителей вашего сайта.

Для модулей Gmap и Location есть много дополнительных модулей.
Однако, для тех же требований есть более новый модуль Google Maps Tools.
Может быть попозже я опишу и работу с ним.

Туториал на английском -
Mapping with Drupal: GMap, Location & Views