Яндекс Карты для каталога организаций от I-Soft Bizness(vkaragande.info)

Тут как-то писал про хак для каталога организации и обещал как руки дойдут сделать чтобы карты яндекса выводились прямо на страницах каталога вот вчера не ноги но руки дошли :) вот код с объяснениями

Установка кроме вставки этого кода в view.php в районе 855 строки,   открываем шаблоны main_a.tpl, main_b.tpl, main_c.tpl, main_d.tpl и вставляем в место где хотите выводить карту *_map*,  заходим в phpmyadmin открываем базу создаем поле point в таблице pmd_users — выполняем SQL запрос:  

1
ALTER TABLE `pmd_users` ADD `point` TEXT CHARACTER SET cp1251 COLLATE cp1251_general_ci NULL DEFAULT '' AFTER `counterip`
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
################# МОДУЛЬ ЯНДЕКС КАРТЫ ###################################
########################   конфиг нах   ######################################
$key="AOAPak0BAAAAAPrhKQIAplmDX3lEhhmhk9s_BqY7uSnz65QAAAAAAAAAAACFcjRauuyytzObrHmH-z8nxoYYIA=="; //ваш ключ Яндекс карт получить здесь http://api.yandex.ru/maps/form.xml
$scale=20;//масштаб карты
$width=750;//ширина карты
$height=400;//высота карты
################################################################################################################################
$name=$f[firmname];
$adress=$city.", ".$f[address];
 
if(@$adress && $adress!=""){
if(@$f[point]){$coordinaty= $f[point];} 
else{ 
$adress1=urlencode($adress);
$url="http://geocode-maps.yandex.ru/1.x/?geocode=".$adress1."&key=".$key;
$content=file_get_contents($url);
//$content=iconv("utf-8","windows-1251",$content);
preg_match('/<pos>.*?<\/pos>/',$content,$point);
$coordinaty=str_replace(' ',', ',trim(strip_tags($point[0])));
mysql_query("UPDATE $db_users SET `point` = '".$coordinaty."' WHERE selector='$id' $hide_d" );
}
$yandex_map='<script type="text/javascript" src="http://api-maps.yandex.ru/1.1/index.xml?key='.$key.'" ></script>
    <script type="text/javascript">
        // Создание обработчика для события window.onLoad
        YMaps.jQuery(function () {
            // Создание экземпляра карты и его привязка к созданному контейнеру
            var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]);
 
            // Установка для карты ее центра и масштаба
            map.setCenter(new YMaps.GeoPoint('.$coordinaty.'), '.$scale.');
 
            // Создаем метку и добавляем ее на карту
            var placemark = new YMaps.Placemark(new YMaps.GeoPoint('.$coordinaty.'));
            placemark.name = "'.$name.'";
            placemark.description = "'.$adress.'";
            map.addOverlay(placemark);
 
            // Открываем балун
            placemark.openBalloon();
 
			// Добавление элементов управления
            map.addControl(new YMaps.TypeControl());
           // map.addControl(new YMaps.ToolBar());
            map.addControl(new YMaps.Zoom());
            map.addControl(new YMaps.MiniMap());
            map.addControl(new YMaps.ScaleLine());
            map.addControl(new YMaps.SearchControl());
            // Zoom колесиком мыши
            map.enableScrollZoom();
 
        });
    </script>
	<div id="YMapsID" style="width:'.$width.'px;height:'.$height.'px"></div>';}
	    $template->replace("yandex_map", $yandex_map);
####################### КОНЕЦ ЯНДЕКС КАРТ #################

Вот в принципе и все теперь у нас на странице с описанием компании есть еще и карта на которой показано где компания находится.
ЗЫ. Хочу еще сделать карту на главной с метками всех организаций зарегистрированых в каталоге, но это когда руки в очередной раз до этого дойдут :) навсякий случай прикладываю файлик с кодом, кторый надо вставить в view.php Яндекс Карты для каталога организаций от I-Soft Bizness(vkaragande.info)

13 Responses
  1. Александр:

    Спасибо, но у меня почему то не получилось, на страничках просто выводится *yandex_map*, а самой карты нет. Не подскажите в чем может быть проблема?

  2. Александр:

    Извините, что беспокоил сам уже разобрался, все работает и очень даже хорошо! Знаете для этого каталога очень не хватает модуля новостей и статей именно, чтоб модератор постил! С нормальными ТИТЛАМИ, созданием категорий ну вообщем нормального новостного модуля.

  3. zalex:

    в принципе там есть cutenews только очень старая версия я в свое время с нее начинал создание сайтов в принципе гдето у меня есть уже доработанная с тайтлами с ЧПУ и прочей фигней )) могу посмотреть выложить в принципе если надо, а вообще авторы каталога грозяться свой модуль сделать и отказаться от cute news

  4. sergio:

    Выложи!!! очень интересно!!

    да, спасибо за карты яши- все работает… у меня строчка не 855 а 1300 какаято…
    и там надо было менять $f[address]; не
    в
    $country; $map_city = $city; а
    в
    $def_map_country; $map_city = $city;

  5. выложил модуль новостей для караганды в последнем посте еще и подогнал к каталогу

  6. Что то не получается. Опишите по подробней что и куда вставлять. Я хочу что бы карта выводилась в место Просмотр карты / маршрута
    Заранее благодарен

  7. Спасибо все получилось

  8. Игорь:

    Привет, нужна помощь по вставке Яндекс карт в скрипт каталога CnCat. Если можешь помочь, напиши на мыло, оплата по договоренности.

  9. to Игорь привет что-то письма не проходят сегодня на твой емайл может тут прочитаешь сделал я карты яндекса для каталога CnCat так что свяжись со мной :)

  10. Игорь:

    Большое человеческое СПАСИБО!

  11. Евгений:

    На этой карте нет строки поиска. Как сделать с поиском?

  12. Евгений:

    Пардон, не туда отписал.
    Хотел сделать просто карту на странице, точнее она есть http://evico.ru/kirovmap.php , но там нет строки поиска. Автор может помочь?

  13. Евгений:

    Разобрался сам =)

Leave a Reply

You must be logged in to post a comment.