Клуб API Карт

События: вывод IFrame вместо балуна

SergeyLonshakov
8 октября 2010, 17:12

Доброго времени суток.

Есть следующего характера проблемка:

Есть xml файл, в котором хранятся метки для карты.

Необходимо при нажатии на метку выводить IFrame, с информацией относящейся именно к данной метке, т.е. у нас на карте отображаются театры Самары, и при нажатии на метку театра открывается IFrame,  в котором содержится информацию о данном театре... 

Если кто то реализовывал подобное, или может подсказать, буду рад помощи...

1 комментарий
Подписаться на комментарии к посту
есть два варианта это сделать и один подход :)
подход заключается в перегрузке вывода балуна.

варианты - показать внутрях этого балуна можно как iframe так через ajax загрузить тотже самый фрейм в сам балун( YMaps.jQuery(nodename).load - что может быть проще?)

Второе описывать не буду..
Покажу кусок кода первого, хотя это тут было много и много раз



ballon_template = new YMaps.LayoutTemplate(MyBalloonLayout);
var s = new YMaps.Style();
s.balloonContentStyle={template :ballon_template}

marker.MARKERDATA={html:function(){return ""},patch:function(node){ $(".yahoo",node).load(.....)};
function MyBalloonLayout (context, map, owner) {
            this.balloon = $("");
            this.context = context;
        }

        MyBalloonLayout.prototype = {
           // Вызывается при открытии балуна
            onAddToParent : function (parentNode) {
                this.balloon.appendTo(parentNode);
                this_balloon_template =  this.balloon;
                this.update();
            },

            // Вызывается при закрытии балуна
            onRemoveFromParent : function () {
                this.balloon.remove();
            },

            // Обновление содержимого балуна
            update : function () {
                // Получаем стиль метки
                this.balloon.html(this.context.MARKERDATA.html());
                var _this=this;
                setTimeout(function(){_this.context.MARKERDATA.jquery(_this.balloon);},1);
            }
        }



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