Клуб API Карт

Fancybox при клике на метку

imax57
3 октября 2014, 15:03

Как реализовать открытие через Fancybox картинки, iframe при клике на метку на карте?

 

Сейчас у меня на это событие прикручен alert стандартный:

 

myMap.geoObjects.add(myPlacemark);

myPlacemark.events
.add('mouseenter', function (e) {
// Ссылку на объект, вызвавший событие,
// можно получить из поля 'target'.
e.get('target').options.set('preset', 'islands#greenIcon');
})
.add('mouseleave', function (e) {
e.get('target').options.unset('preset');
})
.add('click', function (e) {
alert("Щелк!");
})
;

 

 

Блок кода по fancybox:

 

    <!--
        Подключаем скрипт Fancybox
    -->    
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
    <script>
        !window.jQuery && document.write('<script src="./fancybox/jquery-1.4.3.min.js"><\/script>');
    </script>
    <script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
    <script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
    <link rel="stylesheet" type="text/css" href="./fancybox/jquery.fancybox-1.3.4.css" media="screen" />
    <script type="text/javascript">
        $(document).ready(function() {
        
            $("a[rel=example_group]").fancybox({
                'transitionIn'        : 'none',
                'transitionOut'        : 'none',
                'titlePosition'     : 'over',
                'titleFormat'        : function(title, currentArray, currentIndex, currentOpts) {
                    return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
                }
            });

            /*
            *   Examples - various
            */

            $("#various1").fancybox({
                'width'                : '95%',
                'height'            : '95%',
                'autoScale'            : true,
                'transitionIn'        : 'elastic',
                'transitionOut'        : 'elastic',
                'type'                : 'iframe',
                'titleShow'         : true,
                'titlePosition'     : 'outside',
                'overlayColor'        : '#000',
                'overlayOpacity'    : 0.6
            });
        });
    </script>
Если на самой странице использую, то fancybox по ссылке работает. Если на карте в содержимое балуна эту же ссылку запихиваю, то открывается без эффекта fancybox.

 

 

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

Fancybox можно вызывать без аттача на селектор. У них в документации есть пример

(manual call)

Где конкретно посмотреть? Уже столько документации и примеров пересмотрел.

http://fancybox.net/blog

 

6. Start FancyBox on page load

Alternative method is to use manual call