3

我真的需要一些有关 OSMdroid 库的帮助。将地图作为 zip 文件存储在 sdcard 中很有用。此外,地图可以解压缩,图像文件可以直接用于更快的渲染。

当瓦片解压缩时,我设法从我的 sdcard 加载瓦片,具有.tile扩展名存储在文件夹/sdcard/osmdroid/tiles/Mapnik/... 为了创建我的地图,我使用了Mobile Atlas CreatorOSMAND 瓦片存储格式。

我在网上阅读了一些教程,声称存储包含切片的 zip 文件存储在/sdcard/osmdroid中,然后将从 zip 加载离线地图。但这对我不起作用。

  1. 有没有人设法使它工作?如果有怎么办?

  2. 我需要实例化我自己的 MapTileFileArchiveProvider 吗?如果是这样,我该怎么做?有什么例子吗?

4

2 回答 2

7

The files in your ZIP need to be in the form of:

Z/X/Y.png

If you rename your Y.tile files to Y.png, zip them up and put the zip file in /sdcard/osmdroid/, that should work.

于 2011-10-03T15:10:35.083 回答
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;
}
于 2013-04-22T12:02:55.007 回答