웹 응용 프로그램에서 사용자가지도 컨테이너의 크기를 설정할 수있게하려고합니다.
컨테이너가 약간 확장되었을 때 모든 것이 잘 작동했습니다 (분명히 바로 뒤에있는 타일이 이미로드 되었기 때문입니다). 그러나 컨테이너가 크게 확장되면 (다음 예에서는 너비가 300 픽셀에서 1000 픽셀로) 공백이 남습니다.
지도를 다시 작성하고 새로운 크기에 적응시키는 방법은 무엇입니까?
redraw()
모든 레이어를 호출 해도 도움이되지 않았습니다. 확대하거나 축소하지 않았습니다.
Opera, Chrome 및 Firefox에서 설명한 결과로 이것을 테스트했습니다. 놀랍게도 IE8에서는 문제가 발생하지 않고 맵이 자동으로 조정되었습니다.
테스트를위한 단순화 된 웹 페이지 :
<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 = '1000px';
}
</script>
</body>
</html>