Клуб API Карт

Как передать ссылку на полигон?

UryevAndrey
28 февраля 2011, 16:36

Уважаемые, Гуру!

Суть проблемы такова. На карте есть или только рисуется многоугольник. При клике на него открывается балун содержание балуна отличается от стандартного. На балуне три кнопки. Для кнопок определы события. Как передать ссылку на многоугольник (объект многоугольника) в обработчик события для кнопки на балуне?

Пытаюсь сделать так, но не получется.

// Создание многоугольника и добавление его на карту

                var polygon = new YMaps.Polygon();

                polygon.name = '1234';

                polygon.metaDataProperty.myvar = '657789';

                                polygon.metaDataProperty.o = polygon;

                // установим шаблон балуна

                polygon.setStyle(StyleBalloonPoligons (TemplateBalloonPoligons ())); 

 

 

    // **************** Макет балуна полигона {

    function TemplateBalloonPoligons () {

        var templateBalloon = new YMaps.Template(""\

        <b> Описание зоны </b>\

          <p><div>Название:</div>\

          <div><input type='text' id='name' value=$[metaDataProperty.myvar]> <span id='status'></span></div></p>\

          <p><div>Описание:</div>\

          <div><textarea id='description' cols='40' rows='5' value = $[metaDataProperty.myvar]></textarea> </div></p>\

        <p><div>\

        <input type='button' value='Редактировать' id='butt1' onclick='temp (this,metaDataProperty.o)'>\

// тут ошибка "metaDataProperty - определение отсутствует"

        </div></p>\

            "");

          return templateBalloon;

    }

    // **************** Макет балуна полигона }

       

    // **************** Стиль балуна полигона {

    function StyleBalloonPoligons (template) {

        var s = new YMaps.Style();

        s.balloonContentStyle = new YMaps.BalloonContentStyle(template);

        return s;

    }

    // **************** Стиль балуна полигона }

// обработчик нажатия кнопки на балуне
    function temp (o,p) {
        if (o.id == 'butt1'){
          f_alert ('Нажата кнопка Редактировать ');
          f_alert (p.myvar);
        }   
    }

Заранее благодарю.

3 комментария
Подписаться на комментарии к посту
Кажется я задал вопрос аналогичный "

Делегирование всех эвентов тега к PlaceMark?"

 

Читаю данный пост, можно пока не отвечать на мой вопрос. 

скройте код по врезку
В Chrome врезка не работает. Жму на кнопку и никаких действий не происходит.