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