2017-01-12 2 views
0

OpenLayers 3マップをコード内でフルスクリーン表示にしようとしていますが、私は大したことはありません。OpenLayers 3のフルスクリーンイベントをどのようにトリガーできますか?

var fullScreenControl = new ol.control.FullScreen() 

// Create map in between using fullScreenControl 

fullScreenControl.changed(); 

コードはしかし何も達成していない:

は、私はの線に沿って何かを持っています。私はfullScreenControl.dispatchEvent( 'change')を試しました。運もなく。私はそれがあまりにもトリッキーではないと推測しているが、他のすべての質問は、それを引き起こすよりむしろイベントを検出することを中心に回っているようだ。

+0

解決策が見つからない場合は、https://github.com/sindresorhus/screenfull.jsなどのHTML要素のフルスクリーン動作をトリガーするライブラリ、またはhttps:///www.sitepoint.com/use-html5-full-screen-api/ – Icarus

答えて

1

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(); 
     } 
} 

は、アクションでそれを見るためにfiddleです。

マップ外のDOM要素にフルスクリーン機能を追加する場合は、フルスクリーンの初期化中は常にtargetオプションを使用できます。プログラムでそれをやりたければ、上記の関数を使います。それはあなたが達成したいことにかかっています。

関連する問題