Leaflet在缩放时清除tile缓存

时间:2013-07-27 08:41:16

标签: javascript jquery caching zoom leaflet

我在传单中遇到了tile缓存问题。 如果我从 A点开始,平移到B点,然后查看中间的图块;他们被缓存等等。没问题。

但如果我从A平移到B 放大,缩小平移回A ,则会清除切片! 换句话说,在改变缩放级别时,缓存的图块似乎被清除

这是一种常见行为,是否可以预防?即我可以强制传单将所有加载的瓷砖保存在内存中吗?我试过玩地图和图层的各种选项,没有成功。默认情况下,选项unloadInvisibleTilesfalse,这意味着图块会保留在内存中。

我正在尝试在地图上创建某种导航,您可以在其中平移,缩放,来回切换。 因此,我需要将所有已加载的图块保存在内存中,以获得流畅的体验。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

我实际上找到了解决这个“问题”的方法。

我最终将源代码修改为Leaflet(感谢开源),引擎为每个层创建了一个传单层容器。而不是一直清除bgBuffer和前景。

然后当它缩小时,它将目标层置于当前活动的位置。这样做的是,它涵盖了当前所有灰色区域。因此,创建了一个错觉,即视图中“视图”外部的图块实际上已被加载。

这可能是我如何制作它的狡猾描述。但这个想法很简单; 只保留所有图层,并在缩小时将目标图层置于当前图层后面。