суббота, 18 апреля 2009 г.

Доработка плагина Яндекс.Карт для Joomla

Мне задали такой вопрос: «Подскажите, каким образом нужно прописать в .php плагина “Яндекс-Карты”, чтобы отобразились элементы ToolBar (панель инструментов) , ScaleLine(линейка)?».

В этой заметке я расскажу как это сделать на примере добавления элемента ToolBar (панель инструментов).

Используя ftp-клиент мы заходим на сервер Вашего сайта в папку, где установлена Joomla.

Находим там папку plugins, а в ней папку content.

В этой папке должны находиться два файла: plugin_yandexmap.xml и plugin_yandexmap.php

Их мы и будем редактировать.

Открываем сначала файл plugin_yandexmap.xml в любом текстовом редакторе или Блокноте.

Находим в нем следующие строки:

<param name="showMiniMap" type="radio" size= "1" default="0" label="YMAP_SHOWMINIM" description="YMAP_SHOWMINIM_D"><option value="1">YMAP_YES</option>

<option value="0">YMAP_NO</option>

</param>



Здесь прописываются элементы формы для добавления обзорной миникарты в режиме администрирования.

Копируем данные строки и вставляем перед ними.

Изменяем вставленный код следующим образом:

<param name="showToolBar" type="radio" size= "1" default="0" label="YMAP_SHOWTOOLBAR" description="YMAP_SHOWTOOLBAR_D"><option value="1">YMAP_YES</option>

<option value="0">YMAP_NO</option>

</param>



Сохраняем изменненый файл на сервер.






Joomla - Профессиональный сайт за один день
86 видеоуроков, 12 часов 46 минут посвящены лучшей системе для создания сайтов - Joomla!




Затем редактируем файл plugin_yandexmap.php.

Находим в нем строки

if (intval($my_params['showMiniMap'])) {$mmControl = 'var minimapControl = new YMaps.MiniMap();';

$mmControl .= 'map.addControl(minimapControl);';

} else {

$mmControl = '';

}



Копируем и вставляем данный блок кода перед ними.

Изменяем его следующим образом

if (intval($my_params['showToolBar'])) {$toolbarControl = 'var toolbarControl = new YMaps.ToolBar();';

$toolbarControl .= 'map.addControl(toolbarControl);';

} else {

$toolbarControl = '';

}



Еще ищем строку '.$mmControl.' И перед ней добавляем строчку  '.$toolbarControl.'

Сохраняем измененный файл на сервер.

Заходим на сайт на странице администрирования заходим в менеджер плагинов и выбираем плагин Content - Yandex Maps.

Открываем его для редактирования.

В правой части окна, среди параметров должен появиться новый YMAP_SHOWTOOLBAR и два переключателя состояния YMAP_YES и YMAP_NO.

Отмечаем состояние YMAP_YES и сохраняем изменения.

Открываем страницу с Яндекс.Картой. На карте должен появиться новый элемент управления YMaps.ToolBar.

Скачать измененные файлы: plugin_yandexmap.xml и plugin_yandexmap.php

Посмотреть пример в действии

Аналогично можно добавить и элемент управления ScaleLine – масштабную линейку.

9 комментариев:

  1. Уважаемый админ!
    Спасибо Вам огромное за помощь!
    Я как начинающий в области php html css) намучался с этими картами...
    По вашему примеру сделал всё на ура!)
    Добавил и панель, и линейку, и даже сделал их с переводом)

    Однако хочу ещё просить Вашей помощи.
    Когда я захожу на страничку с картой(или обновляю её) на своём сайте, то у меня надпись ...ЗАО "ТГА" 2006..и т.д.
    которая отображается в нижнем правом углу, отображается выше положенного(
    Но как только стоит подвигать карту, либо приблизить её, то надпись возвращается вниз на своё родное место)
    Что мне в коде необходимо поменять, чтобы это исправить?

    ОтветитьУдалить
  2. Наверное это происходит из-за настроек в таблице стилей CSS. Нужно попробовать поизменять стили на странице и посмотреть что будет происходить

    ОтветитьУдалить
  3. Ок.
    Спасибо.
    Буду искать)

    ОтветитьУдалить
  4. Попробовал по аналогии вышеизложеного доработать плагин и добавить поиск по карте. Добавил сначала класс YMaps.SearchControl, но к сожалению форма поиска не отображается.
    Хотелось бы автора блога попросить помощи в данном вопросе и "обьеденить" 2 статьи "Доработка плагина Яндекс.Карт для Joomla" и "Добавляем поиск по адресу на Яндекс.Карту"

    ОтветитьУдалить
  5. Выложил превоначальную версию плагина для Joomla 1.5 на своем сайте http://webmap-blog.ru/files/soft/plg_ymap01.zip

    ОтветитьУдалить
  6. Уже давно вышел новый плагин + компонент , на офсайте yar-it.com можно скачать

    ОтветитьУдалить
  7. Подскажите пожалуста как осуществить чтоб метки могли ставить пользователи карты прямо с карты?

    ОтветитьУдалить
  8. Как получать координаты с Геосервера для отслеживания движения автомобиля?

    ОтветитьУдалить