Задать вопрос
Cheizer
@Cheizer

Как запустить GOOGLE карту в модальном окне?

Друзья! Поясните пожалуйста, почему не работает Google карта в модальном окне?
Вернее она работает, и ошибок нет, но не ПРОГРУЖАЕТСЯ, пока курсором ее не "пнешь".
Почему так получается? Как заставить ее загружаться вместе с окном?
Вот пример https://codepen.io/Cheizer/pen/jOERLOM



модальное окно использую скрипт arctmodal https://arcticlab.ru/arcticmodal/#examples
  • Вопрос задан
  • 889 просмотров
Подписаться 1 Простой 6 комментариев
Решения вопроса 1
Cheizer
@Cheizer Автор вопроса
В общем, если вы прячете блок с картой по принципу display none block. То достаточно выполнить событие resize для карты.
Или в функцию отдельную запихнуть и вызывать ее когда нужно, или на событие on click
function showMap(){
google.maps.event.trigger(map, 'resize');
}
//или
$('#btn').on('click', function() {
    showMap();
google.maps.event.trigger(map, 'resize');  //или сразу
	});


Но у меня другая проблема, в модальных окнах это не сработает, так как в дереве при загрузке не было карты, и нужно инициализировать карту в окне. Тут нужно смотреть доки popup окна вашего и на callback функцию вешать вызов функции initialize(); или на события event. Но нужно вызвать initialize(); пример
$('.get-direction').on('click',function() {
    // if map is null (the first time), initiate Google maps;
    if (! map) {
      initialize();
    }
    searchAddress( $(this).html() );
    showMap();
  });
  $('.close-map').click(function() {
    hideMap();
  });
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы