Клуб API Карт

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

Пост в архиве.

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

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

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

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