Используем плагин Google Maps для Joomla совместно с компонентом SOBI2

В одной из записей своего блога я рассказывал о плагине 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. Использовать Яндекс.Карту, там Курск есть <a href="http://maps.yandex.ru/-/CVGavmS" rel="nofollow">http://maps.yandex.ru/-/CVGavmS</a>
  • Гость: спасибо все получилось! круто!
  • Гость: А у меня не заработало:(( Карта отображается, но маркер устанавливается на значение по умолчанию в параметрах плагина. Почему-то не работает подстановка полей из sobi2, хотя все проверила - все переменные правильные. В чем может быть дело?
  • Гость: Здравствуйте, а вы не могли бы пояснить вот это: "Открывая подробную информацию по любой записи каталога" Не могу понять как создать и добавить запись каталога в мою статью на сайте, что бы в этой записи отображалась карта, хоть и очень хочу это понять))
  • Гость: Записи каталога создает компонент SOBI2, а статьи встроены в Joomla по умолчанию. Добавить запись из каталога в статью нельзя, можно разместить ссылку на запись в каталоге.