0
我试图加载瓷砖来源,但由于某种原因,它可以工作。 这里是我的代码:加载瓷砖来源
final IRegisterReceiver registerReceiver = new SimpleRegisterReceiver(this);
// Create a custom tile source
final ITileSource tileSource = TileSourceFactory.MAPNIK;
// Create a file cache modular provider
final TileWriter tileWriter = new TileWriter();
final MapTileFilesystemProvider fileSystemProvider = new MapTileFilesystemProvider(registerReceiver, tileSource);
File myMapTileSource = new File(mapsDirectory.getPath()+File.separator+"Lisboa.gemf");
// Create an archive file modular tile provider
IArchiveFile[] archives = { ArchiveFileFactory.getArchiveFile(myMapTileSource) };
MapTileFileArchiveProvider fileArchiveProvider = new MapTileFileArchiveProvider(registerReceiver, tileSource, archives);
// Create a download modular tile provider
final NetworkAvailabliltyCheck networkAvailablilityCheck = new NetworkAvailabliltyCheck(this);
final MapTileDownloader downloaderProvider = new MapTileDownloader(tileSource, tileWriter, networkAvailablilityCheck);
// Create a custom tile provider array with the custom tile source and the custom tile providers
final MapTileProviderArray tileProviderArray = new MapTileProviderArray(tileSource, registerReceiver, new MapTileModuleProviderBase[] { fileSystemProvider, fileArchiveProvider, downloaderProvider });
// Create the mapview with the custom tile provider array
mMapView = new MapView(this, 256, new DefaultResourceProxyImpl(this), tileProviderArray);
mMapView.setUseDataConnection(false);
出于某种原因,这个工程,我可以看到里斯本的离线地图。
如果切换线路
File myMapTileSource = new File(mapsDirectory.getPath()+File.separator+"Lisboa.gemf");
为
File myMapTileSource = new File(mapsDirectory.getPath()+File.separator+"Lissabon.osm");
它doenst工作。它从MapTileFileArchiveProvider中返回一个错误“Error loading tile”。
gemf文件是在MOBAC中创建的。 osm文件从here下载。
任何人都可以解释为什么它可以解决工作吗?
你是正确的。我认为gemf文件是一个瓦片源。我读过的内容可能有不好的解释。 osm是一个元数据格式的xml文件。 [source](http://wiki.openstreetmap.org/wiki/OSM_XML) 所以,如果我想使用osmdroid加载自定义地图,我将不得不从“zip”,“sqlite”,“ mbtiles“或”gemf“对不对? 你会建议哪一个? – Short
我相信我在使用zip文件时遇到了速度问题,所以我会避免这个问题。我用gemf取得了不错的成绩。 Mbtiles使用sqlite作为核心,我也听到了很多好消息! – kurtzmarc
是否可以在MOBAC中创建一个mbtile? – Short