osmdroid 默认使用外部 sdcard 加载离线地图,因为它们是从 OpenStreetMapTileProviderConstants 中定义的 osmdroid 目录加载的:
/** Base path for osmdroid files. Zip files are in this folder. */
public static final File OSMDROID_PATH = new File(Environment.getExternalStorageDirectory(),
"osmdroid");
要加载您的地图,您可以使用 MapTileFileArchiveProvider 或直接使用 MapTileFileArchiveProvider 本身的 MapTileProviderBasic。
这里有一个很好的解释 osmdroid 如何与离线地图一起工作:https ://stackoverflow.com/a/8286276/891479
在您的应用程序中使用 MapTileProviderBasic。这里的一些例子:http ://www.androidadb.com/class/ma/MapTileProviderBasic.html
如果您的切片未加载,这也可能是因为您的 zip 中的目录结构错误,请不要忘记将切片源名称设置为基本目录:
/tilesourcename/zoomlevel/...