
ViJu
Drupal 6. Google Maps. GMap и Location
Настройка отображения местоположения нода на картах Google,
с использованием модулей GMap и Location.
Еще эту группу модулей называют Mapedelic, разрабатываться начала еще в 2005 году, поэтому видимо их настройка под определенные требования весьма не тривиальна, когда сталкиваешься с ними впервые.
Опишу здесь настройку Mapedelic под следующую задачу.
Допустим у нас есть ноды определенного типа, для которых надо указать их местоположение на карте.
Довольно распространенный случай, например, ноды - магазины или музеи на карте города.
На странице нода должен быть адрес и карта с маркером.
Примерно так:

- Первое, что делаем - скачиваем и устанавливаем набор модулей GMap и Location
- Модули, которые должны быть включены:
- Location
- Node location
- Location phone (необязательно, но скорее всего вам понадобится)
- GMap
- GMap location
- Модуль Node location (из набора Location, и все требуемые для него модули) должен быть включен.
В настройках нашего типа контента теперь появилась группа элементов Location:
В полях минимальное и максимально количество адресов указываем по 1 (как на скриншоте).
Остальные настройки по вашему желанию.Теперь на странице редактирования нода можно указывать его адрес и телефон (тогда не забудте модуль Location Phone из комплекта Location). Но пока все это без карты.
- Для того, чтобы номер телефона был виден на странице нода, нужно добавить его в тему,
т.е. из модуля Location копируем файл location.tpl.php в свою тему.
И добавляем в него строчку:<?php if ($phone) {echo '<div>'. $phone .'</div>';} ?> - Также может понадобиться убрать заголовок у группы элементов Location на странице нода.
Тогда копируем файл locations.tpl.php из модуля Location в свою тему и
вносим в него необходимые изменения. - Теперь карты. Модуль GMap location (из набора GMap, и все требуемые для него модули) должен быть включен.
- В настройках модуля 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 для отображения города на карте, а не целого материка :)
- Чтобы на странице нода появилась карта с его местоположением, нужно включить блок Location map
В его настройках указываем размеры карты и другие параметры, если необходимо.Укажите также в списке урлов, на которых НЕ показывать блок
node/*/edit
иначе на странице редактирования нода не возможно будет указать положение прямо на карте. - На странице нода, там где информация Location, будет показываться ссылка 'посмотреть на карте'.
Чтобы ее убрать - отключаем соответствующую галочку в настройках нашего типа контента
в группе полей Location -> Display settings - Теперь у вас также есть возможность посмотреть местоположение всех нодов на одной карте
по адресу /map/node
Ее настройки - это настройки модуля Gmap location по адресу /admin/settings/gmap_location. - Осталось только указать права доступа на просмотр карт для посетителей вашего сайта.
Для модулей Gmap и Location есть много дополнительных модулей.
Однако, для тех же требований есть более новый модуль Google Maps Tools.
Может быть попозже я опишу и работу с ним.
Туториал на английском -
Mapping with Drupal: GMap, Location & Views

интересная стратья. Можете подсказать как настроить всплывающее окно, при нажатии на ярлык, или хотя бы как их обозавать на английском и русском?
опишите, пожалуйста, подробнее, что Вы хотите, какое именно окно, с каким содержимым, и при нажатии на какой ярлык - я так понимаю Вы имеете ввиду ссылку, если да, то какую
Интересное решение. Спасибо!
---
химический анкер
Здравствуйте !
Не подскажете, как сделать, чтобы названия на карте по-возможности выводились по-английски. А то по-умолчанию на карте Таиланда все по-тайски. Не всем понятно :).
Ссылкой на гугл-мап это решается добавлением параметра "hl=en". Здесь же я так и не понял.
Спасибо !
Видимо сейчас настройками этого не сделаешь.
Вобще настройки карты в модуле Gmap устанавливаются через Map macro,
в частности для блока Gmap location, например, в настройках блока в поле Map Macro.
Но hl сейчас не поддерживается в этом макро.
Решил проблему добавив строку "'hl' => 'en'" в файл "gmap.module"
...$query = array(
'file' => 'api',
'v' => variable_get('gmap_api_version', GMAP_API_VERSION),
'key' => gmap_get_key(),
<strong>'hl' => 'en',</strong>
);
теперь на картах есть английский: http://www.chiangmai.su/map/node
Актуальный обзор гео-модулей
http://www.levelos.com/blog/2010/08/mapping-drupal
(на английском)
Отправить новый комментарий