是否有一個很好的教程,介紹如何使用TileCache預先緩存地圖的已知部分,將它們存儲在PhoneGap移動應用程序數據庫中並使用OpenLayers加載它們?使用OpenLayers和TileCache在PhoneGap上離線地圖
我經歷了很多教程,但我還沒有想出一個辦法來完成所有這些。
是否有一個很好的教程,介紹如何使用TileCache預先緩存地圖的已知部分,將它們存儲在PhoneGap移動應用程序數據庫中並使用OpenLayers加載它們?使用OpenLayers和TileCache在PhoneGap上離線地圖
我經歷了很多教程,但我還沒有想出一個辦法來完成所有這些。
如果您有自己的圖塊並將它們嵌入應用程序歸檔中,則可以使用Leaflet渲染本地圖塊。 http://leafletjs.com/
如果您的自定義切片是遠程的(託管在服務器上),那麼您仍然無法在離線情況下使用它們。
請看看this博客。
是完全有可能使用小葉貼片離線,只需將用於瓷磚的路徑更改爲本地路徑。
例:
默認:
// 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指向切片的本地位置。有一件事需要記住,但是如果你把他們的瓷磚全部擦去然後存儲在本地,一些地圖瓷磚供應商會感到不安。如果您編寫的應用鼓勵大量使用該應用的人執行此操作,他們將會感到特別不安。這樣的應用很可能會很快被阻止。例如,請參閱http://wiki.openstreetmap.org/wiki/Tile_usage_policy。您始終可以將自己的圖塊呈現在本地。