Javascript 如何触发OpenLayers 3全屏事件?

Javascript 如何触发OpenLayers 3全屏事件?,javascript,openlayers-3,Javascript,Openlayers 3,我试图在代码中触发我的OpenLayers 3地图,使其全屏显示,但我运气不太好 我有一些大致的想法: var fullScreenControl = new ol.control.FullScreen() // Create map in between using fullScreenControl fullScreenControl.changed(); 但是代码什么也做不了。我尝试了fullScreenControl.dispatchEvent('change');也没有运气。我猜

我试图在代码中触发我的OpenLayers 3地图,使其全屏显示,但我运气不太好

我有一些大致的想法:

var fullScreenControl = new ol.control.FullScreen()

// Create map in between using fullScreenControl

fullScreenControl.changed();
但是代码什么也做不了。我尝试了fullScreenControl.dispatchEvent('change');也没有运气。我猜这并不太棘手,但所有其他问题似乎都围绕着检测事件而不是触发事件展开。

ol3使用“HTML5”全屏API以全屏模式切换地图。我不知道你想完成什么,但有不同的方式切换全屏

下面是一个纯js方法,用于全屏设置地图:

function setMapToFullScreen(){
  //if your map element id is other than 'map' change it here
        var elem = document.getElementById('map');
        if (elem.requestFullscreen) {
          elem.requestFullscreen();
        } else if (elem.msRequestFullscreen) {
          elem.msRequestFullscreen();
        } else if (elem.mozRequestFullScreen) {
          elem.mozRequestFullScreen();
        } else if (elem.webkitRequestFullscreen) {
          elem.webkitRequestFullscreen();
        }   
}
下面是一个例子,看看它的实际效果


如果您计划在映射之外的DOM元素中附加全屏功能,则在全屏初始化期间始终可以使用
target
选项。如果您只想以编程方式执行,那么请使用上面的函数。这取决于您想要实现什么。

如果您找不到任何解决方案,请考虑触发HTML元素全屏行为的库,例如,或者阅读本文: