У меня проблема с встраиванием карты Google через API v3 в модальное поле.
При отображении модального поля на холсте карты появляются серые поля. Изменение размераОкно браузера, вызывающее Web Inspector и т. д. делает все фрагменты карты видимыми, т. е. принудительно повторно отображает карту.
Родительский элемент элемента карты (section#map-modal
, см. код ниже) имеетdisplay: none
установить в своем CSS при загрузке страницы.Модальный код JS автоматически устанавливает display: block
при нажатии кнопки показа.Если я временно удаляю display: none
из модального элемента, карта корректно отображается при обновлении страницы.Не нравится ли Google Map наличие скрытого родительского элемента?
Я использую модальный плагин jQuery для Bootstrap в Твиттере и сам управляю модалом с помощью CSS.Это фиксированное положение, ширина пикселя и т. Д. Ничего необычного.
Я, конечно, гуглил в поисках решений, и многие указывают на метод Google API по запуску события resize
:
google.maps.event.trigger(map, 'resize');
Я действительно так и сделал, но чтобыбезрезультатно.
Соответствующий код: https://gist.github.com/1591488
Как видите, я запускаю события в строке 39.
(нажмите Просмотреть увеличенную карту * Кнопка 1028 * в нижней части боковой панели.)
Файлы:
fagerhult.js
fagerhult.map.js
bootstrap-modal.js
master.css
Я был бы очень признателен за любую помощь или дополнительную пару глаз в этом, так как я скоро схожу с ума по этому поводу.