出于某种原因,我的地图上有一个很大的灰色区域,直到我移动它才会出现。
但是第一眼看,有一部分缺失了。我以前在网上看过很多,但从来没有想过如何解决这个问题直到现在。
这是一个使用MarkerClusterGroup进行聚类的简单Mapbox地图。
这是截图和页面链接:
所以我想知道,对于那种行为,是否有任何简单的修复方法?
如果需要,我可以添加代码段。
谢谢,祝你有愉快的一天!
答案 0 :(得分:7)
自初始化以来,地图元素大小似乎已更改,但您没有使其无效。
您是否更改了可见性(例如。display: none
样式),位置(例如。position: absolute
或position: fixed
,如同在词缀中),或动态删除任何HTML元素(使用JS)?也许,您正在以错误的顺序加载资源,并且在leaflet.js
之后加载样式?或者,也许你改变了边距或填充?这些操作可以隐式地更改其他元素的大小,并且Leaflet小程序仅为其旧大小覆盖的区域加载切片。它会在此“灰色”区域中正确显示已加载的图块,因此您可以向上滚动,然后底部的灰色空间将被填充。
如果是这种情况,您应该在Leaflet地图对象上执行invalidateSize()
方法。