Answers:
添加map.updateSize();
到$("#btn-full-screen").click...
任何可动态更改map div大小的外部代码都应调用此函数(因为mozilla不会让我们捕获元素的“ onresize”)
OpenLayers.Map.updateSize
当最大化地图时,可以使用方法重绘基础图层。
因此,添加如下功能:
var fullScreen = function () {
map.baseLayer().redraw();
}
您只需要向地图添加其他选项:
var map = new OpenLayers.Map({
div: "map",
center: new OpenLayers.LonLat(0, 0),
updateSize: fullScreen,
minResolution: "auto",
minExtent: new OpenLayers.Bounds(-1, -1, 1, 1),
maxResolution: "auto",
maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90),
projection: Mercator,
displayProjection: Geographic
});
祝好运!
transitionEffect: 'resize'
。map.baseLayer().redraw();
固定它。
每当需要重绘地图时(例如在窗口调整大小或选项卡更改或全屏或在任何其他事件上)根据需要编写以下代码。
$(window).trigger('resize');
这将自动在updateSize()
内部触发该功能。