Клуб API Карт

Помогите переделать события

ovvk-info
19 апреля 2012, 11:07

Понимаю что наплодил много тем, но мне как не специфлисту сложно разобраться.

Помогите, пожалуйста, переделать события для кнопок:

 

var buttonZone = new ymaps.control.Button({
  data: {
  content: "Зоны влажности"
  title: "Показать/скрыть зоны влажности"
}} ) ;
zoneh = new YMaps.geoXml.load('http://map.teploov.ru/zone.xml') ;

 

YMaps.Events.observe(buttonZone, buttonZone.Events.Select, function () {
  map.geoObjects.add(zoneh);
  YMaps.Events.observe(zoneh, zoneh.Events.Load, function () {
  flagLoad = true;
  } ) ;
} ) ;

 

 

и вот такое:

 

ml[1] = new YMaps.YMapsML('http://map.teploov.ru/tsn.xml') ;

YMaps.Events.observe(ml[1], ml[1].Events.Load, function (data) {
    ml[1].get(0).forEach(function (obj) {
        YMaps.Events.observe(obj, obj.Events.Click, function (obj2) {
            //Вывод данных по выбранному городу
            ClimatInfoOutput (obj2, obj2) ;
            //Функция сворачивания и разворачивания панели с дополнительной информацией
            $(function(){
                $(".btn-Cold").click(function(){
                    $("#AddInfoColdPanel").slideToggle("slow") ;
                    return false;
                } ) ;
            } ) ;
            CalcRreq (obj2);
            objGlobal = obj2;
       } ) ;
    } ) ;
} ) ;   

 Инструкцию по переходу читал, но там нет подобных примеров.

8 комментариев
Подписаться на комментарии к посту

почитайте руководство по переходу на 2.0

там есть раздел про события

            map.events.add("load",
                function (data) {
                    ml[0].get(0).forEach(function (obj) {
                        map.events.add("click",
                            function (obj2) {
                                ClimatInfoOutput (obj2, obj2);
                                $(function(){
                                    $(".btn-Cold").click(function(){
                                        $("#AddInfoColdPanel").slideToggle("slow") ;
                                        return false;
                                    } )  ;
                                }) ;
                                $(function(){
                                    $(".btn-Warm").click(function(){
                                        $("#AddInfoWarmPanel").slideToggle("slow");
                                        return false;
                                    }) ;
                                }) ;
                                CalcRreq (obj2);
                                objGlobal = obj2;
                            }) ;
                            document.getElementById("Preload").innerHTML = '';
                    }) ;
                }) ;       

Не получается что-то.

 

Не получается что-то.

что не получается?

Метки не грузятся.

 

Метки не грузятся.

Это следствие ошибки.

поставьте себе firebug чтобы понять в чем ошибка

Можно ли сделать вот так?

buttonZone.events.add("select",
                function(){
                    map.geoObjects.add(zoneh);
                    zoneh.events.add("load",
                    function(){
                        flagLoad = true;
                    }) ;
                }) ;

В это случае при нажатии на кнопку firebag пишет:

child.getParent is not a function
if (child.getParent() == this._context) {
 

ну посмотрите что такое child

console.log(child)