我正在使用组合的tilelayer,我必须刷新它(使用.redraw()
当前)每次添加新层或删除旧层时。我的实现没有技术问题,但是当切换图层时,会出现短暂的闪烁,因为旧的图块会立即被删除,但新的图块显然需要一些时间才能加载。
有什么方法可以保留这些旧瓷砖,直到加载替换的瓷砖为止,从而实现更平滑的过渡?
我考虑过使用临时层,并将新的图块加载到旧的图块之上,但这会导致大量额外的工作和加载,所以我希望传单具有更优雅的内置功能,例如delayRemoval选项或其他东西。
这是一个jsfiddle:http://jsfiddle.net/Q6586/ http://jsfiddle.net/Q6586/
如果您单击地图,它会重新绘制自身,立即删除旧图块,并且在加载新图块之前地图会短暂闪烁灰色。
我想摆脱那个闪光。我通过在旧图层之上创建一个新图层暂时解决了这个问题,但我觉得这是一个非常不优雅的解决方案。
您可以创建另一个图层,在重画时将其置于前面。
事件“load”会告诉您所有图块何时加载
map.on('click', function(e) {
layer2.bringToFront();
layer.on('load', function(e) {
console.log('loaded');
layer.bringToFront();
});
layer.redraw();
});
看看这个 JSFiddle:http://jsfiddle.net/FranceImage/5452r/ http://jsfiddle.net/FranceImage/5452r/
我命名了不同的图块,以便您可以看到。显然,您将为两个图块层使用相同的模板。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)