我有一个页面可以根据异步调用生成一系列地图。首次加载地图时,它们会丢失图块,如下图所示。
我可以通过调用map.invalidateSize()
重新绘制每个中的切片来解决此问题。目前我在加载时创建8,其余的通过Angular指令分页。切换到任何其他8或来回切换将"修复"第8个。
由于前8个是ngRepeat
的乘积,因此它们都具有相同的ID。理论上,我可以将索引或其他字符串修改添加到8个映射中的每个映射的id中,并创建下面代码的循环以在每个映射上运行map.invalidateSize()
,但这似乎是一个环形交叉路口,整体上很差解决问题的方法。有人有更好的建议吗?
leafletData.getMap('leafletMap-trips').then(function(map) {
setTimeout(function () { map.invalidateSize() });
});
答案 0 :(得分:2)
事实上,不,不。传单API仅允许每个映射的大小失效,因此您几乎需要按照解释的那样进行操作。