调整传单地图的大小时,如何使地图居中?

时间:2014-04-24 15:18:07

标签: leaflet

我使用leaftlet在网页上创建地图。

在地图的左侧是一个滑出的面板。

当面板滑出时,地图会调整大小以填充页面上的剩余空间。

当面板向左滑动时,调整大小,中心点向左移动。

理想情况下,地图的中心点应保留在相对中心。

Dodgy ASCII表示: ('。'代表地图的初始中心点。)

Panel closed:          [][    .    ]

Panel open (current):  [  ][     . ]

Panel open (desired):  [  ][   .   ]

这里有一个jsFiddle来重现这个问题。

2 个答案:

答案 0 :(得分:3)

我在传单地图尺寸更改后调用 $(window).resize() 解决了这个问题

更新:看起来您需要拨打map.invalidateSize()而不是

更新了小提琴http://jsfiddle.net/YwbLg/11/(动画并不漂亮)

答案 1 :(得分:0)

看看你的JSFiddle,如果你在保存地图的DIV上检查元素(Chrome上的右键单击选项)#map-containerDiv,你会看到当选项DIV,#mapOptions,向右滑动时,地图div实际上是向右推,没有调整大小。

换句话说,地图的中心点实际上并没有改变 地图div只是向右滑动,div的右侧变为隐藏。