javascript - Leaflet 在缩放时清除图 block 缓存

标签 javascript jquery caching zooming leaflet

我在传单中遇到了图 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/

相关文章:

javascript - 使用react-router-dom v6提交表单后如何重定向到另一个页面并传递数据?

javascript - Tensorflow 和 Tensorflow.js 的区别?

javascript - 使用 serializeArray() 访问自定义属性

javascript - PrimeNG 表体不显示数据

javascript - 基于元素数量的 JQuery/JS 多页

jquery - 删除 HTML 下拉菜单上的缩进

javascript - 使用 javascript 和 css 用鼠标选择文本的粗体部分

ruby - Sinatra set cache_control to static files in public folder编译错误

reactjs - React 中的缓存

java - 如何每 X 分钟清除一次应用程序缓存?