Клуб API Карт

Отображение балуна в Safari

dmitrij.roganov
16 мая 2012, 17:51

Добрый день.

Подскажите, как решить проблему с балунами.?

При клике на пункте левого меню карта перемещается в точку с заданными координатами и показывается балун.

В барузере Safari этот код срабатывает через раз, вместо балуна пусто, только тень появляется.

Вот сайт

Вот  

     $('.point-address p').live('click', function(e){
     $('.point-address a').removeClass('hover-address').addClass('address')
     if($(e.target).is('.address')){
      $(this).find('a').removeClass('address').addClass('hover-address')
      var Latitude = $(this).find('a').attr('lat');
      var Longitude = $(this).find('a').attr('log');
      var myContent = $(this).find('a').text()
      Latitude = parseFloat(Latitude); Longitude = parseFloat(Longitude)
        myMap.panTo([Latitude, Longitude],{
                     flying: true,
                     duration: 1500,
                      callback : function () {
                       myMap.setCenter([Latitude, Longitude], 15)
                       myMap.balloon.open([Latitude, Longitude],{content : '<div class="balloon">' + myContent + '<\/div>'})
                      }
                    }
     }
    })

 mari-na-bizzz,

но проблему это не решило

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

переписал немного код

        myMap.panTo([Latitude, Longitude],{
                     flying: true,
                     duration: 1500,
                      callback : function () {
                       myMap.setZoom(15)
                       myMap.balloon.open([Latitude, Longitude],{content : '<div class="balloon">' + myContent + '<\/div>'})
                      }
                    });

 

p.s. если уменьшить зум до 14, то балун в safari будет отображаться.... Как же всё таки решить проблему без уменьшения зума?

p.s.s при увеличении зума до 16 в mozilla начинаются косяки с балунами также как и в safari

 

mari-na-bizzz, вернул всё на прежнее место, увеличил зум до 16, теперь вместо балунов в Safari только тени... В mozilla вроде всё нормально работает....

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

Вы используете по сути два одинаковых метода - panTo и setCenter.

Достаточно будет такого кода

myMap.setCenter([Latitude, Longitide], 15, {

    duration: 1500,

    callback: function () {

       myMap.balloon.open([Latitude, Longitude],{content : '' + myContent + ''});

    }

});

Очень странное поведение, завтра поэкспериментирую с балунами.

"Крутые" браузеры пытаются оптимизировать действия, которые совершаются над элементами. В случае использования panTo это как раз мешало корректно отрабатывать действия. Вместо того, чтобы последовательно перемещаться от точки к точке, браузер прыгал в непонятные места с непонятной скоростью. В следующей версии поправим, что бы действия гарантированно не склеивались.

 

Теперь по поводу балунов - я не смогла на своих тестах повторить ситуацию, когда бы открылась тень без балуна или вообще балун не открылся.Вы у себя это судя по всему тоже поправили, и баг не воспроизводится. Может быть такие баги были связаны как раз со склеиванием трансформов, а может и нет.

Я была бы благодарна, если бы вы у себя вернули вариант с багами и кинули мне ссылку на полчасика поизучать.

 

И постскриптум - 

Это совершенно не мое дело, и в конечном счете вам решать - но я выскажусь как тупой пользователь вашего сайта.

Когда кликаешь по пунктам меню, не знаешь, что карта должна поехать к месту назначения, да еще и с задержкой.

Первое ощущение - это ты кликаешь по разным пунктам меню, а на карте ничего не происходит.

Я бы делала тут мгновенное перемещение карты в нужную точку по клику.

Но, опять же, это исключительно мое мнение =)

Нашли, в чем бага.

Виндовый сафари не умеет работать с очень большими числами.

Если на карту добавлено много меток, и зум очень большой, то пиксельные позиции меток становятся большими, и сафари сходит с ума. Причем сходит с ума он таким образом, что перестает отображать все объекты, которые лежат внутри контейнера, если хотя бы одна метка контейнера содержит очень большие пиксельные координаты.

В сафари на маках все работает как надо.

Мы подумаем, что можно с этим сделать и в ближайших релизах постараемся починить.

Добрый день! Уменя обратная ситуация - исчезают балуны при увеличении карты в какой-то момент (сейчас пытаюсь избавиться от лишних подключенных скриптов., может в них конечно проблема) но ситуация похожа на ваш случай. Что примечательно - именно на Mac и iPad 2, а вот на iPhone 4 c прошивкой 5.01 все чудесно!

 

Если интересно - http://рулонная-штора.рф/index.php/rumap 

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

Было бы желание, так и на Mac можно было б глянуть!

 

У меня айпад ближе) вижу проблему, будем смотреть, что не так.

Снова приветствую, случайно не удалось ли решить проблему?

Как вариант, может быть использовать другую технологию отображения или еще что-то? Сможете подсказать? Ведь в большинстве случаев я так понимаю проблем нет - подобное скорее редкость

Спасибо

Решил проблему посредством кластеризации обьектов

Добрый день.

Мы в курсе проблемы, скорее всего исправится в одном из ближайших релизов.