2013-10-28 5 views
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+"Lissabon.osm"); 

의 라인

File myMapTileSource = new File(mapsDirectory.getPath()+File.separator+"Lisboa.gemf"); 

을 전환하는 경우

그것은 일을 doenst. MapTileFileArchiveProvider에서 "타일로드 오류"오류를 반환합니다.

gemf 파일이 MOBAC에서 생성되었습니다. osm 파일은 here에서 다운로드되었습니다.

아무에게도 왜 나에게 설명 할 수 없습니까?

답변

1

ArchiveFileFactory을 보면 GEMF 파일이 지원되지만 .osm 파일은 지원되지 않습니다. 어떤 형식의 .osm 파일이 (아마도 지원되는 형식 중 하나이며 이름을 바꿀 필요가 있는지 모르겠습니다.)

+0

정확합니다. 나는 gemf 파일이 타일 소스라고 생각했다. 나는 내가 읽은 것에서 나쁜 해석을했을 것이다. osm은 메타 데이터 형식 xml 파일입니다. [소스] (http://wiki.openstreetmap.org/wiki/OSM_XML) 그래서 내가 osmdroid를 사용하여 사용자 정의 맵을로드하려면 "zip", "sqlite", " mbtiles "또는"gemf "가 맞습니까? 어느 것을 제안 하시겠습니까? – Short

+0

나는 zip 파일에 속도 문제가 있다는 소식을 들었습니다. 나는 보석으로 좋은 결과를 얻었습니다. Mbtiles는 핵심 부분 인 sqlite를 사용합니다. – kurtzmarc

+0

MOBAC에서 mbtile을 만들 수 있습니까? – Short