我有一个基于异步调用生成一系列地图的页面。当地图首次加载时,它们缺少图块,如下图所示。
我可以通过调用map.invalidateSize()
重绘每个瓷砖来解决这个问题。目前我在加载时创建了 8 个,其余部分通过 Angular 指令进行分页。切换到任何其他 8 个或来回切换将“修复”前 8 个。
由于前 8 个是 a 的乘积ngRepeat
,因此它们都具有相同的 ID。从理论上讲,我可以将索引或其他一些字符串修改添加到 8 个映射中的每一个的 id 中,并创建一个下面的代码循环以map.invalidateSize()
在每个映射上运行,但这似乎是一个迂回和整体糟糕的问题解决方案。有人有更好的建议吗?
leafletData.getMap('leafletMap-trips').then(function(map) {
setTimeout(function () { map.invalidateSize() });
});