小编Rap*_*aël的帖子

OpenLayers:折叠侧边栏后如何重绘地图?

我使用 OpenLayers 来显示地图,并使用 AdminLte 来显示界面。

我的问题:当折叠给定页面上的主要左侧边栏时,所有框及其包含的内容都会更改大小(我真的不知道如何),因此地图也会变大。问题是,当它发生时,地图上显示的所有特征显然都改变了位置,不再是它们应该在的位置。

我想要什么:在侧边栏折叠后重绘地图。

有什么建议吗?

我试过:

$('.navbar-collapse').on('shown.bs.collapse', function() {
    map.updateSize();
});
Run Code Online (Sandbox Code Playgroud)

和:

$('.sidebar').on('shown.bs.collapse', function() {
   map.updateSize();
});
Run Code Online (Sandbox Code Playgroud)

但无济于事...

编辑:我的问题类似于这个问题:OpenLayers:如何在地图 div 的流体 css 渲染后重新对齐鼠标坐标和矢量图层,但他的解决方案对我不起作用:)

编辑 2:澄清一下:我认为解决我的问题的方法是在侧边栏完成折叠时调用 map.updateSize() 方法。问题是我不知道如何捕捉侧边栏完成折叠/展开的时刻!

javascript css gis openlayers adminlte

5
推荐指数
1
解决办法
2094
查看次数

标签 统计

adminlte ×1

css ×1

gis ×1

javascript ×1

openlayers ×1