В одной из записей своего блога я рассказывал о плагине Google Maps для Joomla : «Плагин Google Maps для Joomla».
Этот плагин можно использовать как альтернативное решение для отображения местоположения на карте Google в компоненте универсального каталога SOBI2.
Причем нам не нужно заботиться о добавлении координат при вводе данных об организации, а будет достаточно одного адреса.
В начале мы скачиваем данный плагин со страницы по адресу http://joomlacode.org/gf/project/mambot_google1/frs/ и устанавливаем его в Joomla.
После этого нам необходимо активировать плагин и установить некоторые параметры по умолчанию.
Перечень возможных параметров достаточно большой, я остановлюсь на самых необходимых из них.
Первый параметр Google API key, здесь вводиться api-ключ доступа для вашего сайта.
Потом необходимо задать ширину и высоту окна карты – width и height.
Еще один параметр это уровень масштаба карты – Zoomlevel.
Далее следуют параметры, отвечающие за элементы управления на карте.
Как задаются элементы управления Controltype– автоматически (Automatic) или пользователем (User).
Тип элемента масштабирования – Zoomtype.
Тип карты по умолчанию – Maptype
Показывать или нет элемент управления типом карты – ShowMaptype.
Также Вы можете задать параметры для отображения значка метки на карте.
И еще много других параметров.
Для того чтобы наша карта отображалась при детальном просмотре записи в каталоге SOBI2 необходимо изменить файл шаблона sobi2.details.tmpl.php.
Он расположен по адресу: <Папка вашей установки Joomla>/components/com_sobi2/templates/default/
Его также можно открыть в панели управления компонентом SOBI2 в режиме администрирования выбрав пункты меню – Оформление – Шаблон Details View.
При этом файл sobi2.details.tmpl.php должен быть доступен для записи.
В этом файле нужно найти следующую строку:
<td><?php HTML_SOBI::showGoogleMaps($mySobi, $config); ?></td>
А затем, заменить ее следующим кодом:
<td><?php echo HTML_SOBI::execJPlugins( "{mosmap lightbox=’1’|address=’".$fieldsObjects[‘field_city’]->data." ".$fieldsObjects[‘field_street’]->data." ".", "."’|text=’".$mySobi->title."’ }" ); ?></td>
Сохранить измененный файл.
Поясню добавленный код.
Лучше всего это будет видно на конкретном примере.
Пусть у нас есть данные некоторой организации, например, кинотеатр «Октябррь».
Его данные записанные в каталоге:
- Название (title) — Октябрь, кинотеатр ООО "Кинематограф"
- Город (field_city) — г. Нижний Новгород
- Адрес (field_street) — Б. Покровская ул., 51 а
Если бы мы его отображали на карте в тексте статьи, то нам бы было необходимо добавить следующий код в ее текст, чтобы использовать установленный плагин:
{mosmap lightbox=’1’|address=’ г. Нижний Новгород Б. Покровская ул., 51 а’|text=’Октябрь, кинотеатр ООО "Кинематограф"’ }
Здесь mosmap – специальное слово для обозначения плагина, задается в его параметрах;
lightbox =1 – отображает ссылку для вывода карты во всплывающем окне;
address – задает адрес для геокодирования;
text – задает текст информационного окна метки.
За эти значения отвечают соответствующие поля записи SOBI2, название полей приведены в скобках.
И в коде, добавляемом в файл sobi2.details.tmpl.php мы подставляем значения из соответствующих полей SOBI2.
Открывая подробную информацию по любой записи каталога, мы наблюдаем следующее
Для написания заметки использовались следующее источники:
Тема «SOBI2 + Google maps (альтернативное решение)» на форуме русской поддержки Joomla ! CMS;
Официальный сайт плагина: http://tech.reumer.net/
Да всё получилось, спасибо!
Отличная статья, помогла(когда то нужна была такого рода инфа, но нигде не находил).
Используя Вашу статью написал как добавить карты гугл во вкладку SOBI2
тоже всё получилось кроме одного, не могу понять почему карта выводиться на английском языке, что нужно поменять что бы она выводилась на русском (улицы, дома, и другое)
API понимает настройки браузера и соответствующим образом выбирает язык. Язык можно изменить добавив дополнительный параметр к ключу АПИ &hl=ru
Скажите пожалуйста, а если на карте гугл мапс, карта города не показывается ну тоесть её просто нет, например города Курска, только несколько главных дорог которые подходят к городу и всё, улиц нет, а хотя областной город. Есть ли из этого выход .Можно ли как нибудь загрузить свою карту например?:(
Есть три варианта решения:
1. Использовать космоснимок, тогда нужные объекты придется самому обозначать
2. Использовать растровое изображение, порезав его на тайлы подгружать поверх карты Google
3. Использовать Яндекс.Карту, там Курск есть http://maps.yandex.ru/-/CVGavmS
спасибо все получилось! круто!
А у меня не заработало:(( Карта отображается, но маркер устанавливается на значение по умолчанию в параметрах плагина. Почему-то не работает подстановка полей из sobi2, хотя все проверила — все переменные правильные. В чем может быть дело?
Здравствуйте, а вы не могли бы пояснить вот это:
«Открывая подробную информацию по любой записи каталога»
Не могу понять как создать и добавить запись каталога в мою статью на сайте, что бы в этой записи отображалась карта, хоть и очень хочу это понять))
Записи каталога создает компонент SOBI2, а статьи встроены в Joomla по умолчанию. Добавить запись из каталога в статью нельзя, можно разместить ссылку на запись в каталоге.