2012-07-27 59 views
1

我目前正在使用osmdroid和zip格式的离线地图,我希望在我的应用运行时交换已加载新磁贴的磁贴。但是,我不知道如何在不退出应用程序的情况下加载新的图块。在运行Osmdroid时交换和加载瓷砖

如何强制osmdroid从磁盘检索和加载瓷砖时,我已经有瓷砖加载该区域?

如果它帮助这里是我最初用来装载砖代码:

File osmDir = new File("/mnt/sdcard/osmdroid"); 
File[] mapZips = osmDir.listFiles(new ZipFileFilter()); 

List<MapTileModuleProviderBase> overlayFileProvider = new ArrayList<MapTileModuleProviderBase>(mapZips.length); 
myTileSource overlayFileTileSource = null; 
IArchiveFile[] overlayFileArchive = new IArchiveFile[1]; 
for (File zip : mapZips) 
{ 
overlayFileArchive[0] = ArchiveFileFactory.getArchiveFile(zip); 
overlayFileTileSource = new myTileSource("MapquestOSM", null, 18, 18, 256, ".png"); 
overlayFileProvider.add(new MapTileFileArchiveProvider(new SimpleRegisterReceiver(getApplicationContext()), overlayFileTileSource, overlayFileArchive)); 
} 

MapTileModuleProviderBase[] overlayFileProvider2 = new MapTileModuleProviderBase[overlayFileProvider.size()]; 
MapTileProviderArray overlayFileProviderArray1 = new MapTileProviderArray(overlayFileTileSource, null, overlayFileProvider.toArray(overlayFileProvider2)); 
     overlayFileProviderArray1.setTileRequestCompleteHandler(mapView.getTileRequestCompleteHandler()); 
    myTilesOverlay = new TilesOverlay(overlayFileProviderArray1, getApplicationContext()); 

说实话,我不完全理解这是怎么回事这个代码是,如果有人知道在哪里的解释是这也将不胜感激。

回答