2016-08-24 3 views
0

다른 .sqlite 맵 파일이 있는데 MapView에로드하고 싶습니다. 하나의 sqlite 파일 만로드 할 수 있습니다. 여러 개의 오프라인지도를로드 할 수 있습니까? 내 경우에는 다른 sqlite 파일.OsmDroid 여러 오프라인지도로드

답변

0

요약하면 대답은 '예'입니다. 아이러니하게도, 나는 단지 며칠 전에 이것을 직접했다.

여러 타일 아카이브에 걸쳐있는 동일한 타일 소스 (예 : "Mapnik")를 사용중인 경우 아무 것도하지 않아도됩니다. 기본 타일 공급자 인 setUseDataConnection(false)을 사용하여 타일 원본을 보관 파일의 원본과 일치하도록 설정하면 경주가 중단됩니다. 5.0부터는 OfflineTileProvider를 사용하여로드 할 타일 아카이브를 명시 적으로 지정할 수 있습니다.

혼합 타일 소스를 사용 중이고 복합성을 생성하려는 경우 (예 : 모든 타일 소스 이름을 무시하고 사용 가능한 첫 번째 타일 만 표시하려는 경우) 일부 속임수로도 가능합니다.

  1. 먼저

    , DatabaseFileArchive을 무시하고 타일 소스 이름에 대한 확인을 제거하기 위해 필요에 따라 타일 소스 이름을
  2. 재정 다른 아카이브 클래스를 체크를 제거합니다.
  3. v5 이상을 사용하는 경우 ArchiveFileFactory.registerArchiveFileProvider 보다 오래된 v5를 사용하여 사용자 정의 DatabaseFileArchive 구현을 등록 할 수 있습니까? 사용자 정의 타일 공급자를 사용하십시오.
    1. 파일 아카이브 로더에서 무시되므로이 시점에서 원하는 타일 소스를 사용하십시오. 두 번째 방법으로

, 당신은 그래서 그냥 참고로, 타일 아카이브의 많은 일부 성능 문제로 실행할 수 있습니다.

편집 : 여러 TileOverlay를 사용하여 이렇게하는 또 다른 방법이 있습니다. 기본 레이어 이외의 모든 경우에는로드 선과 배경을 투명하게 설정하십시오.

+0

OsmDroid v5를 사용하여 여러 개의 TileOverlays를 사용하는 것으로 생각합니다 ... 감사합니다. – Albert