Я гулял по всему миру, и я не могу найти решение этой проблемы в любом месте. Нужно ли когда-либо обнаруживать, когда карта выходит в полноэкранный режим или выходит во весь экран? (очень похоже на событие DOM onfullscreenchange)Карты Google - полный экран события изменения?
У меня есть карта с параметром «fullscreenControl», установленным в true, и все, что я хочу сделать, - это центрирование карты на маркерах, когда карта переходит в полноэкранный режим, а также отображение infowindow ТОЛЬКО, когда карта находится в полноэкранном режиме. Как я могу проверить полноэкранные изменения?
Я попытался с помощью событий DOM на всей карте, но это не похоже на работу, что-то вроде:
google.maps.event.addDomListener(document.getElementById("map-canvas"), "fullscreen", function() {
console.log("FULLSCREEN CHANGED");
});
Я также думал, что я могу сделать пользовательский элемент управления, вместо кнопка X, которая является полноэкранным контролем, для переключения, когда карта переходит в полноэкранный режим, а затем я могу прослушивать событие щелчка на этом настраиваемом элементе управления, но нет ли лучшего способа? Неужели нет события onfullscreenchange или что-то в этом роде?
Спасибо за помощь!
Хмм Мне не нужно вызывать изменение размера на карте, потому что карта является глобально доступной переменной, но я понимаю, почему вы предложили вызвать изменение размера (таким образом я могу захватить его и сделать то, что хочу). Об обнаружении полноэкранного режима, как мне сделать проверку ширины/высоты? Работает ли «измененный» слушатель на карте-холсте? –
Да, это было бы, вы бы сравнили его с высотой и шириной, чтобы увидеть, полно ли он. – telhar
Итак, я тестировал его немного дальше, и, по-видимому, нет простого способа проверить изменения на карте, потому что он не ведет себя как обычные элементы DOM. Итак, что я делаю, это добавить слушателя на карте, когда центр изменится, а затем использовать JQuery для сравнения div, который добавляет Карты Google, чтобы сделать карту (она всегда имеет класс под названием «gm-style»), высоту и ширину с внутренним высоту окна и внутреннюю ширину окна, только тогда я отрегулирую границы. Это в сочетании с переменной флагом позволяет мне звонить fitBounds только один раз. Имеет ли это смысл? Вы хотите изменить свой ответ? –