Клуб API Карт

Не открывается балун после panTo, если panTo издалека.

Пост в архиве.
bitteracc
16 августа 2013, 02:35

 При нажатии на p c id #ancor на странице - карта должна передвигаться к метке и балун должен открываться. Но так происходит не всегда:

ymaps.ready(init);


function init () {
   
    var geolocation = ymaps.geolocation

    var coords = [geolocation.latitude, geolocation.longitude]

    var myMap = new ymaps.Map(
        'YMapsID',
        // Параметры карты.
        {
            // Географические координаты центра отображаемой карты.
            //center: [50.535794,30.708816],
            center: coords,
            // Масштаб.
            zoom: 5,
            behaviors:['default', 'scrollZoom', 'multiTouch','routeEditor']

        }
    );
   
    myMap.controls.add('zoomControl', { left: 5, top: 5 }).add('mapTools', { left: 35, top: 5 })
    var clusterer = new ymaps.Clusterer({preset: 'twirl#invertedLightblueClusterIcons'}) // 'twirl#lightblueClusterIcons'
   
    // Добавляем кластеризатор на карту.
    myMap.geoObjects.add(clusterer);
   
    var warehouse={
            // Опции.
            // Своё изображение иконки метки.
            iconImageHref: '/static/img/point_ware.png',
            // Размеры метки.
            iconImageSize: [47, 57],
            // Смещение левого верхнего угла иконки относительно
            // её "ножки" (точки привязки).
            iconImageOffset: [-3, -42],
            hideIconOnBalloonOpen: false
        }
   
 
   
    var myPlacemark = new ymaps.Placemark([50.55,30.708816],  {
            // Свойства.
  
            balloonContentHeader: 'заголовок',
            balloonContentBody: 'текст адресса',
            balloonContentFooter: '<b>футер</b>',
            hintContent: 'Собственный значок метки'
        }, warehouse);
   

 
   
    clusterer.add(myPlacemark);
   
    $('#ancor').click(
                function (e) {           
                    if (myPlacemark.balloon.isOpen()) {
                        myPlacemark.balloon.close();
                    } else {
                    myMap.panTo( myPlacemark.geometry.getCoordinates(), {
                    delay: 0,
                    callback: function () { myPlacemark.balloon.open();}});
                    }})


   
}

Если отодвинуть карту далеко от метки, то balloon метки на карте не открывается после первого клика, только после второго(( А если  PanTo c близка(пикселей 1000 вправо, например) - все ок

Кто-нибудь может что-то подсказать? api 2.0

2 комментария

Думаю дело в том что кластеризатор удаляет не отображающиеся объекты на экране для оптимизации.

Вы можете посмотреть правильную реализацию в нашем примере из блога

спасибо, помогло