Доработка компонента Яндекс.Карт для Joomla 1.5 – подключение народной карты. Продолжение.

Автор: | 09.03.2011

На страницах своего блога я недавно писал о том, как можно доработать компонент Яндекс.Карт для Joomla 1.5 чтобы использовать Народную карту.

Но остался без внимания еще один момент, совместно с компонентом используется плагин.

Чтобы можно было встраивать Народную карту с использованием плагина, его также необходимо доработать.

Файл для редактирования yandexmaps.php расположен по адресу <папка установки Joomla>/plugins/content/.

В нем находим часть кода, отвечающий за вывод элемента управления типом карты.

После строк:

case 9:
	$output .= 'map'.$mC.'.addControl(new YMaps.TypeControl());' ."n";
	$output .= 'map'.$mC.'.setType(YMaps.MapType.MAP);' ."n";
break;

Добавляем следующий код:

case 10:
	$output .= 'map'.$mC.'.addControl(new YMaps.TypeControl([YMaps.MapType.PMAP, YMaps.MapType.PHYBRID]));' ."n";
	$output .= 'map'.$mC.'.setType(YMaps.MapType.PMAP);' ."n";
break;
case 11:
	$output .= 'map'.$mC.'.addControl(new YMaps.TypeControl([YMaps.MapType.PMAP, YMaps.MapType.PHYBRID]));' ."n";
	$output .= 'map'.$mC.'.setType(YMaps.MapType.PHYBRID);' ."n";
break;

А после кода добавления элемента поиска по карте

//поиск
if (isset($map->border) && (int)$map->border == 1) {
	$output .= 'map'.$mC.'.addControl(new YMaps.SearchControl());' ."n";
}

Поиск по народной карте:

//поиск по Народной карте с ограничением области поиска
if (isset($map->border) && (int)$map->border == 2) {
	$output .= 'var nnovgorodBounds = new YMaps.GeoBounds(';
	$output .= 'new YMaps.GeoPoint(43.77352,56.198029),' ;
	$output .= 'new YMaps.GeoPoint(44.119589,56.372946));';
	$output .= 'map'.$mC.'.addControl(new YMaps.SearchControl({geocodeOptions: {geocodeProvider: "yandex#pmap", boundedBy : nnovgorodBounds, strictBounds : true}}));' ."n";
}

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

После этого пробуем вставить нашу карту в статью, добавляя код для плагина.

Например, {yandexmaps view=map|id=1}

Наблюдаем народную карту.

Код файла yandexmaps.php с изменениями можно загрузить здесь.

Доработка компонента Яндекс.Карт для Joomla 1.5 – подключение народной карты. Продолжение.: 6 комментариев

  1. aleks

    мне кажется какой-то косяк с обработкой народной карты
    т.е. при установки масштаба увеличения в компоненте у карты, полного увеличения — до уровня домов не происходит, несмотря на изменения цифр

    хотя на шкале еще есть несколько пунктов для увеличения

  2. sava

    Это увеличение не срабатывае только на картах, где масштаб СХЕМЫ меньше нужного значения. Тоесть масштаб ориентируется не на НАРОДНУЮ КАРТУ или СПУТНИК, а на СХЕМУ карты.
    Нужно, что то изменить в коде так, чтоб ориентация шла на НАРОДНУЮ КАРТУ, как это сделано в самой НАРОДНОЙ КАРТЕ при вставке её через код конструктора.

  3. aleks

    Так и не удалось сделать? увы, пока пользуемся что есть

  4. eXereS

    Добрый день! Все сделал и настроил как написано все получилось, компонент работает, а вот плагин не хочет цеплять народные карты. Пишу в материале K2 {ymap} карту цепляет,(но не народную), а {yandexmaps view=map|id=1}, выводится текстом 🙁
    В чем может быть проблема?
    Если есть возможность жду ответа на dbeXereS2yandex.ru
    Спасибо!

  5. eXereS

    И еще вопрос по теме, мой город «Северск» в яндекс картах обычных показывает, а компонент для жумлы 1.5. видать не обновлен и прорисовки нету, как можно обновить нормальну рабочую на данный момент карту с городом моим?

  6. eXereS

    Все разобрался, не тот плагин ковырял, теперь не могу размер где высота прописывается плагина?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *