我一直在谷歌搜索,我无法在任何地方找到解决这个问题的方法。无论如何都要检测地图何时全屏或退出全屏? (非常类似于DOM事件onfullscreenchange)
我有一个地图,其中“fullscreenControl”选项设置为true,我想要做的就是在地图全屏时将地图置于标记中心,并且只有在地图全屏时才显示信息窗口。如何查看全屏更改?
我尝试在整个地图上使用DOM事件,但这似乎不起作用,如:
google.maps.event.addDomListener(document.getElementById("map-canvas"), "fullscreen", function () {
console.log("FULLSCREEN CHANGED");
});
我还认为我可以创建一个自定义控件,代替全屏控制的X按钮,在地图全屏时切换,然后我可以在该自定义控件上侦听点击事件,但是有没有更好的方法?是否真的没有onfullscreenchange事件或类似的东西?
感谢您的帮助!
答案 0 :(得分:1)
我正在更新答案,以便在center_change上使用计时器进行检查
google.maps.event.addListener(map,'center_change', updateMapBounds);
}
function updateMapBounds(){
clearTimeout(mapBoundsTimer);
mapBoundsTimer = setTimeout(function() {
updateBounds();
}, 500);
}
function updateBounds(){
//code to get map_div or gm_style class size and compare it to the
if($('.gm_style').height()===window.innnerHeight &&
$('.gm_style).width() === window.innerWidth){
//fit_markers
}
}
但我认为如果你使用google.maps.event.addListener(map。' idle',updateBounds()),你可以删除updateMapBounds;