Клуб API Карт

Resize карты при повороте экрана мобильного телефона

lord-blizzard
18 апреля 2016, 13:33

Здравствуйте. Как можно исправить следующую проблему? 

При повороте с вертикальной на горизонтальную ориентацию карта не отображается на полную ширину экрана (iOs). В хроме, например, если свернуть в окно и развернуть карта тоже не ресайзится. При обычном изменение размеров окна(вручную растягиваю\сжимаю) все нормально

В консоле прописал myMap.container.fitToViewport() и myMap.redraw() но получаю ошибки. 

5 комментариев
Подписаться на комментарии к посту
Метода redraw в новой версии нет, отсюда видимо и ошибки.
Сначала стоит проверить растягивается ли контейнер карты.
dimik,
спасибо за отклик. Я проверил контейнер, и то что увидел, приложил в последнем скрине. Родительский id="map" растягивается на всю ширину, а у карты получается ширина задается скриптом: width: 718px;
Если подвигать developer tools то все встает на место
Если там прописать width:100% вся карта как обычно не расширится: не все слои карты появляются, видимо
lord-blizzard,
А в какой момент вы делаете fitToViewport? Возможно это происходит слишком рано, когда ещё размер контейнера не поменялся. Попробуйте вызвать внутри обработчика onorientationchange
м.б. с дополнительным таймаутом
http://www.williammalone.com/articles/html5-javascript-ios-orientation/
dimik,
большое спасибо! Этот метод с fitToViewport работает