这是我的地图div的css:
#map {
position: fixed;
top: 9.48em;
bottom: 2.2em;
}
我的OpenLayers地图在此div中呈现。一切正常。但是只要我添加一个
overflow:auto;
在上面的CSS中的属性,我的地图上使用滚轮的缩放被禁用。我需要添加此属性,因为现在我需要显示一些表来代替map。
我怀疑当我添加滚动条时滚轮的事件没有到达OpenLayers。
通过修复css或某些OpenLayers代码可以解决这个问题吗?
我知道我可以通过在JS中添加一些根据正在加载的页面动态更改css属性的逻辑来实现,但除非绝对必要,否则我不想走那条路,找到干净的解决方案。
感谢。
答案 0 :(得分:3)
好问题,那就是设计:如果你是一个可滚动的div,OpenLayers将不会做任何事情(它将检查溢出样式),否则,它将滚动地图。
查看解释来源:https://github.com/openlayers/openlayers/blob/master/lib/OpenLayers/Handler/MouseWheel.js#L149
溢出样式的检查在这里:https://github.com/openlayers/openlayers/blob/master/lib/OpenLayers/Handler/MouseWheel.js#L124