Столкнулся с данной проблемой в своей работе. Опишу более подробно.
Объект Гугл карты, при изменении размеров контейнера, в котором рендерится карта, не актуализирует внутренние размеры поля, от которых зависит центровка. К примеру, при уменьшении контейнера, центр «отползал» вправо-вниз. При увеличении ситуация становилось ещё хуже, т.к. карта переставала рендерится на весь контейнер, а рисовалась только в части соответствующей старым размерам области отрисовки.
Остальные инструменты карты позиционировались верно, отслеживая размеры контейнера.
Если вы столкнулись с подобной проблемой, то вам поможет следующий трюк:
|
// пусть объект карты гугл определен в переменной map var map = new google.maps.Map( document.getElementById('mymap'), {}); ... // Ре-инициализация внутренних размеров var center = map.getCenter(); google.maps.event.trigger(map, 'resize'); map.setCenter(center); |
Мы запоминаем центр карты, имитируем событие resize и восстанавливаем позицию центра.
Картежник
Написать комментарий
Данная запись опубликована в 02.02.2018 19:05 и размещена в рубрике javaScript.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Май 4, 2017 г.
Писал ранее об API ipinfo.io. Сервис позволяет вытащить как гео координаты, так и названия города, региона, страны. Единственный недостаток - информация на английском языке. В данной статье рассмотрим пару примеров использования сервиса.
Обращение ...
Читать
Август 31, 2012 г.
Типовые задачи решаются все проще и проще. Когда то я рассказывал как вставить карту со схемой проезда, используя api google.maps. С тех пор прошло довольно много времени. Теперь я расскажу как сделать примерно тоже самое только проще и с помощью конструктора ...
Читать