Скорее всего, это происходит из-за того, что событие resize
никогда не запускается, попробуйте обернуть его внутри функции . ready()
, чтобы гарантировать, что событие shown.bs.modal
запускается после загрузки DOM, например:
$(function () {
$('#myModal').on('shown.bs.modal', function () {
google.maps.event.trigger(map, "resize");
console.log('resize');
});
});
Существует также другая проблема с загрузкой Карт Google.
Поскольку карта инициализируется с помощью параметра callback
, эта строка:
google.maps.event.addDomListener(window, 'load', initMap);
здесь не нужен.
Демо