Google地图 - 更改活动全屏?

时间:2016-08-17 14:33:49

标签: javascript google-maps events fullscreen

我一直在谷歌搜索,我无法在任何地方找到解决这个问题的方法。无论如何都要检测地图何时全屏或退出全屏? (非常类似于DOM事件onfullscreenchange)

我有一个地图,其中“fullscreenControl”选项设置为true,我想要做的就是在地图全屏时将地图置于标记中心,并且只有在地图全屏时才显示信息窗口。如何查看全屏更改?

我尝试在整个地图上使用DOM事件,但这似乎不起作用,如:

  google.maps.event.addDomListener(document.getElementById("map-canvas"), "fullscreen", function () {
            console.log("FULLSCREEN CHANGED");
        });

我还认为我可以创建一个自定义控件,代替全屏控制的X按钮,在地图全屏时切换,然后我可以在该自定义控件上侦听点击事件,但是有没有更好的方法?是否真的没有onfullscreenchange事件或类似的东西?

感谢您的帮助!

1 个答案:

答案 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;