对于如何使用TileCache预缓存地图中已知的部分,将其存储在PhoneGap移动应用程序数据库中并使用OpenLayers加载这些部分,有一个很好的教程吗?
我读了很多教程,但我还没有想出一种办法来共同完成这些工作。
发布于 2012-11-21 15:36:07
如果您有自己的瓷砖,并将它们嵌入到应用程序存档中,则可以使用传单来呈现本地瓷砖。http://leafletjs.com/
如果您的自定义块是远程的(托管在服务器上),那么您仍然无法在脱机场景中使用它们。
请看一下这的博客。
是的,完全可能离线使用传单瓷砖,只需将瓷砖使用的路径更改为本地路径即可。
前:
默认值:
// add a CloudMade tile layer with style #997
L.tileLayer('http://{s}.tile.cloudmade.com/[API-key]/997/256/{z}/{x}/{y}.png', {
attribution: 'Map data'
}).addTo(map);
离线:
L.tileLayer('file://path_to_your_tiles/{z}{x}{y}.png', {
attribution: 'Map data'
}).addTo(map);
只需确保您的瓷砖以相同的模式命名(例如: 6_17_15.png)。您可以将模式更改为。
您可以使用与服务器结构匹配的目录结构在本地存储映射块,并将tileLayer指向瓷砖的本地位置。不过,要记住的一点是,如果你把地图瓷砖整整齐齐地拼凑起来,然后在本地存储,那么一些地图瓷砖供应商就会不高兴。如果你写了一款鼓励很多人使用这个应用程序的应用程序,他们会特别生气。这样的应用程序可能很快就会被屏蔽。例如,请参见政策。您总是可以渲染您自己的瓷砖以存放在本地。
https://stackoverflow.com/questions/9500020
复制相似问题