我在传单中遇到了图 block 缓存问题。 如果我从A点开始,平移到B点,然后查看中间的图 block ;它们被缓存等等。没问题。
但是,如果我从 A 平移到 B,放大和缩小,然后平移回 A,图 block 就会被清除! 换句话说,更改缩放级别时缓存的图 block 似乎被清除了。
这是一种常见行为吗?可以预防吗?即我可以强制传单将所有加载的图 block 保留在内存中吗?我尝试过使用 map 和图层的各种选项,但没有成功。默认情况下,unloadInvisibleTiles
选项为 false
,这意味着图 block 保留在内存中。
我正在尝试在 map 上创建某种导航,您可以在其中平移、缩放、来回。 因此,我需要将所有加载的图 block 保留在内存中,以获得流畅的体验。
提前谢谢您。
最佳答案
我实际上找到了解决这个“问题”的方法。
我最终将源代码修改为Leaflet(感谢开源),这样引擎就为每一层创建了一个leaflet层容器。而不是一直清除bgBuffer和前台。
然后当它缩小时,它会将目标图层定位在当前事件图层的后面。其作用是覆盖当前区域周围的所有灰色区域。因此,产生了视口(viewport)“外部”的图 block 实际上已加载的错觉。
这可能是对我如何制作它的一个狡猾的描述。但这个想法很简单; 只需保留所有图层,并在缩小时将目标图层置于当前图层的后面。
关于javascript - Leaflet 在缩放时清除图 block 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17895925/