Здравствуйте, уважаемые коллеги. На странице есть табы, в одном из них bitrix:map.yandex.view, работают табы на jquery, (тянется отсюда: http://code.jquery.com/jquery-latest.min.js).
Изначально, тот таб (слой), в котором находится карта не виден (display: none), когда таб становится видимым сами карты не появляются, видно только серое поле с элементами управления. Но! Стоит, например, включить/выключить firebug, то карты появляются. По ходу есть конфликт библиотек, но это только догадки..
beginner, возможно именно мой код работать не будет (я взял его из одной из своих реализаций, причем она не на Битрикс, а просто API ЯндексКарт).
Но я привел это пример, чтобы вы знали в какую сторону копать, вам нужно просто инициализировать загрузку карту в тот момент, когда нужный таб становится видимым.
если на момент инициализации карты контейнер будет иметь свойство {display: none}, то от серого фона никуда не деться. используйте {visibility:hidden} или же скрывайте контейнер с картой после инициализации с помощью js.
Спасибо, Игорь, но {visibility:hidden} к сожалению не предоставляется возможным, страница уже сверстана, стили прописаны..
На http://api.yandex.ru/maps/articles/tasks/map.xml есть рецепт, согласно ему необходимо использовать метод redraw() объекта Map, для перерисовки карты. Прикрутил его к нужной ссылке прямо в шаблоне вот так:
но код работать не хочет. Пытался всячески: YMaps.redraw(); YMaps.Map.redraw(); Map.redraw(); YMaps.map.redraw(); map.redraw(); redraw(); но firebug все время ругается неопределенные функции..