Html &引用;Chrome应用程序";-最好的方法是从文件系统中读取现有的传单贴图块,如果不存在,则获取

Html &引用;Chrome应用程序";-最好的方法是从文件系统中读取现有的传单贴图块,如果不存在,则获取,html,leaflet,google-chrome-app,html5-filesystem,cordova-chrome-app,Html,Leaflet,Google Chrome App,Html5 Filesystem,Cordova Chrome App,我正在构建一个“Chrome应用程序”,带有一张单张地图供离线使用。该应用程序将通过XMLHttpRequest获取地图分幅,以避免CSP限制。然后,磁贴将以正确的URL模式存储在文件系统中,以便后续检索。我认为chrome.fileSystem API是最好的选择,但是这个用例的文档很难遵循 1) 地图平铺文件的路径是什么 2) 这个路径可以是应用程序文件的一部分吗?我可以创建一个“Tiles”目录,用Tiles预填充它,并让用户访问Tiles添加到其中吗 3) 测试文件是否存在的最佳方法是什

我正在构建一个“Chrome应用程序”,带有一张单张地图供离线使用。该应用程序将通过XMLHttpRequest获取地图分幅,以避免CSP限制。然后,磁贴将以正确的URL模式存储在文件系统中,以便后续检索。我认为chrome.fileSystem API是最好的选择,但是这个用例的文档很难遵循

1) 地图平铺文件的路径是什么

2) 这个路径可以是应用程序文件的一部分吗?我可以创建一个“Tiles”目录,用Tiles预填充它,并让用户访问Tiles添加到其中吗

3) 测试文件是否存在的最佳方法是什么,如果不存在,则获取文件,将其添加到文件夹中,然后将新下载的磁贴提供给原始请求

4) 还是有更好的方法制作离线地图


目标是允许用户在WiFi可用时预取地图贴片,然后在没有的地方使用地图,作为HTML5 Chrome应用程序。

地图贴片URL的格式为

http://< tile map server >/{z}/{x}/{y}
http:///{z}/{x}/{y}
一种简单的方法是截获所有平铺请求,并使用上面的URL模式检查缓存条目


您可以在此处找到有关地图分幅的更多信息:

是的,我同意。但是,在“Chrome应用程序”和具有逻辑目录结构的本地文件存储中,如何在CSP的范围内做到这一点?