2014-06-18 53 views
1

我正在嘗試使用Phonegap和Leaflet構建一個Android應用程序。我添加了一個本地磁貼層,並在www文件夾中添加了磁貼文件夾。它工作正常。如何從PhoneGap的外部存儲訪問地圖圖塊?

var tmsLayer = L.tileLayer('tile/{z}/{x}/{y}.png', { 
    maxZoom: 16, 
    minZoom: 13, 
    tms: true 
}).addTo(map); 

但是,當我添加更高縮放級別的瓷磚時,文件夾大小變得超過200mb。因此,我想將tile文件夾放在www文件夾之外,以便我的apk文件不會變得太大。但是我無法訪問Tile文件夾中的圖塊,直接複製到外部存儲。我正在使用phonegap插件進行文件和文件傳輸。這是我迄今所做的:

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) { 
     var tmsLayer = L.tileLayer(fileSystem.root.fullPath + 'tile/{z}/{x}/{y}.png', { 
      maxZoom: 20, 
      minZoom: 13, 
      tms: true 
     }).addTo(map); 
    }); 

回答

0

可以使用cordova.file.externalRootDirectory,而不是fileSystem.root.fullPath這樣的:

L.tileLayer(cordova.file.externalRootDirectory+'tile/{z}/{x}/{y}.png', { 
... 
}).addTo($scope.map);