Leaflet 使用PockDB作为脱机光栅地图缓存
我一直在探索使用PockDB作为光栅地图分幅的脱机缓存。特别是传单。我刚刚完成了一些我想与大家分享的初步测试。我创建了一个“JSFIDLE”(实际上我现在更喜欢CodePen),作为展示如何使用PockDB缓存离线光栅地图分幅的游乐场 它使用的算法如下所示:Leaflet 使用PockDB作为脱机光栅地图缓存,leaflet,pouchdb,Leaflet,Pouchdb,我一直在探索使用PockDB作为光栅地图分幅的脱机缓存。特别是传单。我刚刚完成了一些我想与大家分享的初步测试。我创建了一个“JSFIDLE”(实际上我现在更喜欢CodePen),作为展示如何使用PockDB缓存离线光栅地图分幅的游乐场 它使用的算法如下所示: 测试是否存在XHR2、IndexedDB和铬(不含 二进制blob,但Base64)。并显示此状态信息 从GoogleDrive获取PNG tiles的JSON清单(我有171个PNG) 瓷砖,每个尺寸为256x256)。清单上列出了他们
- 测试是否存在XHR2、IndexedDB和铬(不含 二进制blob,但Base64)。并显示此状态信息
- 从GoogleDrive获取PNG tiles的JSON清单(我有171个PNG) 瓷砖,每个尺寸为256x256)。清单上列出了他们的名字和名字 尺寸
- 将JSON清单存储在数据库中
- MVVM和UI控件来自KendoUI(这次我没有使用它们的 极好的网格控制,因为我想探索CSS3网格样式)
- XHR2来自:
- 我正在使用PockDB的夜间构建
- 所有PNG文件都存储在Google Drive(NASA蓝色大理石)上
- 我用安全的FME 2013桌面创建了平铺金字塔。
- 清单是从数据库中获取的
- XHR2获取循环从GoogleDrive获取PNG blob
- 循环运行时,它开始将blob保存到数据库中
- 注意:获取和保存在重叠的线程上(请考虑 co例程),因为这些(获取和存储)操作正在运行 在单独的线程上异步
- 当Fetch循环完成时,它会报告经过的时间
- 注意:这一次不是纯粹的获取工作,因为 putAttachments()并行运行
- 保存所有磁贴后,它将报告完整的统计信息,并且 显示从数据库获取的磁贴
- Blob对每个png磁贴的总获取和存储时间进行评级
- 关于“浏览器如何存储IndexedDB数据”的必读文章
- 注意:FireFox对NOSQL IndexedDB使用SQLlite 性能缓慢的原因。(BLOB单独存储)
- 注意:Microsoft IE使用可扩展存储引擎:
- 注:Chrome使用LevelDB