我在我的项目中使用OpenLayers,但是我在调整大小时遇到了问题。当我打开我的更大 - 这是更大的div-map时,地图不会引起问题,但是当我在小div中打开地图时,地图不会自行调整大小。
我尝试了几件事来解决这个问题:
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
答案 0 :(得分:0)
尝试使用此算法:
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);