如何在PhoneGap中访问外部存储的地图图块?

时间:2014-06-18 05:39:24

标签: android cordova leaflet

我正在尝试使用Phonegap和Leaflet构建Android应用。我添加了一个本地切片图层,并在www文件夹中添加了tile文件夹。它工作正常。

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);
    });

1 个答案:

答案 0 :(得分:0)

您可以使用cordova.file.externalRootDirectory代替fileSystem.root.fullPath,如下所示:

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