8
OpenLayers-コンテナーのサイズ変更後のマップの再描画
私のWebアプリケーションでは、ユーザーがマップコンテナーのサイズを設定できるようにします。 コンテナをわずかに拡張したときにすべてが正常に機能しました(これは、境界線のすぐ後ろにあるタイルが既に読み込まれているためです)。ただし、コンテナが大幅に拡張された場合(次の例では、幅が300〜1000ピクセル)、空白が残ります。 マップを再描画して新しいサイズに適応させる方法は? redraw()すべてのレイヤーを呼び出すことは役に立ちませんでした。ズームインもズームアウトもしませんでした。 Opera、Chrome、Firefoxで説明した結果でこれをテストしました。IE8では、驚くべきことに、問題は発生せず、マップは自動的に適合しました。 テスト用の簡略化されたWebページ: <html> <head> <style> #mapbox { width: 300px; height: 500px; border: 1px solid black; } </style> <script src="http://openlayers.org/api/OpenLayers.js"></script> </head> <body> <div id="mapbox"></div> <input type="button" id="test" value="resize"> <script> var map = new OpenLayers.Map('mapbox'); map.addLayer(new OpenLayers.Layer.OSM()); map.setCenter( new OpenLayers.LonLat(1000000, 7000000), 5); document.getElementById('test').onclick = function() { document.getElementById('mapbox').style.width = …