在调整容器大小时调整传单图的大小

rkcpi:

我有一个<div>包含传单的地图。在某些情况下,高度<div>会改变。我想将地图调整为周围的新尺寸,以<div>使旧的中心位于调整后的较小或较大地图的中心。我尝试使用该invalidateSize()功能,但它似乎根本不起作用。map-container-resize事件发生后如何调整地图的大小并居中

$mapContainer.on('map-container-resize', function () {
   map.invalidateSize(); // doesn't seem to do anything
});

编辑以提供更多上下文:

地图容器最初的样式为

#map-container {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;

    transition: height 0.5s ease-in-out;
}

用户单击某个按钮后,页面底部将显示另一个面板,并且地图容器的高度将减小到小于100%(例如80%)的高度。

单击此按钮后,将触发map-container-resize事件,以便我可以调整地图的大小并以其旧的(即在调整大小之前)为中心。然后,将地图本身也调整为初始高度的80%。

invalidateSize我想要的APi文档似乎是我想要的:

“检查地图容器的大小是否已更改,如果更改,则更新地图[...]”

但是getSize在调用invalidateSize之前和之后看一下函数的输出,没有什么不同,地图保持原来的大小。

rkcpi:

问题在于的大小调整#map-container div是通过CSS过渡完成的。当对invalidateSize的调用发生时,过渡尚未开始,更不用说结束了,因此传单地图无法识别其周围尺寸的任何变化div

map-container-resize延迟触发事件可以解决问题。这条路 :

setTimeout(function(){ map.invalidateSize()}, 400);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

JavaFX-调整屏幕大小时调整画布大小

在d3.js中调整窗口大小时调整SVG大小

使用滚动视图内的动态大小控制器调整容器视图的大小

根据子DIV中的内容调整容器DIV的大小

CSS-填充(或边距)未调整容器的大小

调整大小时保持容器与孩子的比例

在窗口调整大小时调用移动菜单功能

Anychart不会在窗口调整大小时调整大小

调整大小时div容器与<p>重叠

当MainWindow调整大小时,调整QDialog的大小

如何在Flutter中动态调整容器大小时保持裁剪区域恒定?

按下时调整容器大小(隐藏并显示其他小部件)

当我缩小时调整div的大小

通过ActionListerner调整容器的大小

调整容器DIV的大小以适合元素高度

Highcharts-在图表调整大小时调整图例?

防止在子div调整大小时调整父div的大小

调整浏览器大小时css容器未调整

在Android中调整背景大小时调整按钮的大小

如何自动调整容器中输入字段的大小

可滚动的JTextArea,可在调整大小时调整其大小

更改字体大小时调整Div的大小

同时调整div的大小时,如何防止div的“跳跃”?

CSS / Jquery如何自动调整容器和图像的大小

调整容器宽度并使其可调整大小

使用 resizeEvent 调整窗口大小时调整 Qlabel 图像大小

在窗口调整大小时调整两个图片框的大小

同时调整 JPanel 大小时调整图像大小

在调整窗口大小时调整画布大小 (JavaScript)