На странице располагается несколько адресов офисов фирмы.
Для каждого есть схема проезда - ссылка, при клике на которую открыватся fancybox,туда подгружается карта с балуном. Точно так же успешно и закрывается fancybox по нажатию на крестик.
Беда в том, что при повторном клике на ссылку схемы проезда - открывается fancybox, содержащий две карты. И так по нарастающей при открытии -закрытии.
Пытался вызвать метод map.desctructor() на событие fancybox beforeClose. Фаербаг сообщает что map is undefined.
var map; выносил в глобальную переменную - не помогает.
Код
<script type=\"text/javascript\">
var map;
$(document).ready(function() {
$(".shema").fancybox({
'afterShow' : function () {
var lng = 37.472213;
var lat = 55.738267;
var mapContainer = YMaps.jQuery('<div style="width:545px;height:445px"></div>')
.appendTo(YMaps.jQuery('#map')),
map = new YMaps.Map(mapContainer[0]
map.setCenter(new YMaps.GeoPoint(lng, lat), 15);
var placemark = new YMaps.Placemark(new YMaps.GeoPoint(lng, lat)
placemark.name = 'Офис 1';
placemark.description = 'Адрес 1';
map.addOverlay(placemark);
// Открывает балун
placemark.openBalloon(
},
'beforeClose' : function(){
map.destructor(
}
}
}
</script>