我真的需要OSMdroid库的一些帮助。将映射存储在sdcard中作为zip文件很有用。此外,可以解压缩地图,并可以直接使用图像文件进行更快的渲染。
当磁贴 unziiped , .tile扩展并且存储在文件夹中时,我设法从我的SD卡加载磁贴> / SD卡/ osmdroid /瓷砖/ Mapnik的/... 为了创建我的地图,我使用了 Mobile Atlas Creator 和 OSMAND磁贴存储格式。
我在网上阅读了一些声称存储包含磁贴的zip文件存储在 / sdcard / osmdroid 中的教程,然后将从zip加载离线地图。但它对我不起作用。
有没有人设法让它发挥作用?如果是这样的话?
我是否需要实例化自己的MapTileFileArchiveProvider?如果是这样,我该怎么做?有什么例子吗?
答案 0 :(得分:6)
ZIP中的文件必须采用以下形式:
Z/X/Y.png
如果你将Y.tile文件重命名为Y.png,请将它们压缩并将zip文件放在/ sdcard / osmdroid /中,这应该可行。
答案 1 :(得分:0)
只是对user976933的答案进行了更正或补充,zip还应该包含tilesource的名称作为基本目录,zip中所需的结构是:
tilesourcename / Z / X / Y
加载切片的代码位于BitmapTileSourceBase:
@Override
public String getTileRelativeFilenameString(final MapTile tile) {
final StringBuilder sb = new StringBuilder();
sb.append(pathBase());
sb.append('/');
sb.append(tile.getZoomLevel());
sb.append('/');
sb.append(tile.getX());
sb.append('/');
sb.append(tile.getY());
sb.append(imageFilenameEnding());
return sb.toString();
}
public String pathBase() {
return mName;
}