Клуб API Карт

Проблема при масштабирование карты в модальном окне

kornhe
13 ноября 2014, 23:39

Всем доброго времени суток.)

Подскажите в какую сторону копать!?

При использовании myMap.setBounds(result.getBounds(), {checkZoomRange: true});

получаю зум равный нулю если вывожу карту в модальном окне (для модальных окон использую FANCYBOX)

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

myMap.getZoom() возвращает ноль.

А вот если использовать в теле страницы, всё работает прекрасно.

Выглядит это так: http://codepen.io/anon/pen/ZYEQra

Прошу сильно не материть код, программировать только начал учиться) 

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

особенно понравилось 

$('#map').empty(); в самом начале.

Память наверное кушается на ура.

 

Не надо каждый раз создавать (и удалять) карту.

Используйте одну и ту же карту, изменяя ее центр и масштаб.

А что до setBounds, вы его вызываете в момент когда размер контейнера = 0, поэтому и 0-й масштаб.

Вызывать setBounds надо, когда контейнер карты уже отобразится,

для этого обычно во всякие fadeIn/fadeOut функции обратного вызова принимают, в ней и делайте setBounds.

И не пишите никаких onclick в html, так еще при царе горохе программировали наши дедушки. Есть же jQuery

Спасибо что помогли)
Вызвал через fadeIn() и всё заработало))
И по поводу очисти контейнера спасибо, подумаю как это исправить)))

 

И по поводу очисти контейнера спасибо, подумаю как это исправить)))

Реюзать и не удалять карту,

или, как минимум, удалять правильно