我在我的项目中使用OpenLayers,但是我在调整大小时遇到问题。当我打开更大的-div更大的map时,map不会引起问题,但是当我在小div中打开地图时,map不会自动调整大小。
我已经尝试了几件事来解决这个问题:
window.onresize = function()
{
setTimeout( function() { map.updateSize();}, 200);
}
$(window).trigger('resize');
function resize() {
var div = $('#map');
div.height(
Math.max( div.height() + ($(window).height() - $('body').height()), 300 )
);
map.updateSize();
}
我也尝试更新库文件。
http://trac.osgeo.org/openlayers/attachment/ticket/2828/openlayers-2828.patch
最佳答案
尝试使用以下算法:
function reduce() {
var mapDiv = document.getElementById("map");
console.log("Current size: "+mapDiv.style.width+ " / "+mapDiv.style.height);
mapDiv.style.width = mapDiv.clientWidth - 10 + "px";
mapDiv.style.height = mapDiv.clientHeight - 10 + "px";
console.log("New size: "+mapDiv.style.width+ " / "+mapDiv.style.height);