查了全网并没有任何解决办法, 但是有一段话引起我的注意: 百度地图的缩放是基于body层的 .

随后阅读地图源码发现:

 

但是这个fx函数我没找到被调用的地方. 然后源码看了又看, 确实实力不够哈哈找不到唉

地图定位貌似是基于body层做计算, 反正, 使用标准文档流就能解决这个问题!

 

解决办法1:

让百度地图加载在body的滚动条中, 不要加载在某个含滚动条的''容器''里面(既地图放在CSS标准文档流中)!!!

以上这句话很重要, 不理解多看两遍, 如果还是不理解请详细说明你的情况并留言, 我帮你看看.

 

 

解决办法2:

用高德地图, 测试了高德不存在这个问题, 但是源码也是转换过的, 大概看出高德是有判断父节点.

不过高德也有高德的坑, 所以有些需求还是需要和产品打打架的咯, 逃~

 

 

拓展: 

1. Document.body.scrollTop为0的原因 

2. Element.getBoundingClientRect() 方法返回元素的大小及其相对于视口的位置

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐