2016-08-24 3 views
0

私は異なる.sqliteマップファイルを持っており、MapViewにロードしたいと思います。 1つのsqliteファイルしか読み込めません。 複数のオフラインマップを読み込むことはできますか?私の場合、異なるsqliteファイル。OsmDroid複数のオフラインマップをロード

答えて

0

要するに答えは「はい」です。皮肉なことに、私はちょうど数日前にこれをやった。

複数のタイルアーカイブにまたがる同じタイルソース(「Mapnik」など)を使用している場合は、何もする必要はありません。デフォルトのタイルプロバイダであるsetUseDataConnection(false)を使用して、アーカイブ内のソースと一致するようにタイルソースを設定し、レースを終了します。 5.0以降、OfflineTileProviderを使用してロードするタイルアーカイブを明示的に指定することもできます。

混合タイルソースを使用していて、コンポジットを作成する場合(たとえば、すべてのタイルソース名を無視して、最初のタイルを表示する場合)、これはいくつかのトリッキーでも可能です。

  1. まず、DatabaseFileArchiveをオーバーライドして、タイルソース名のチェックを外すために、必要に応じてタイル・ソース名のために
  2. オーバーライド他のアーカイブクラスのチェックを外してください。
  3. v5以降を使用している場合は、ArchiveFileFactory.registerArchiveFileProvider より古いバージョンを使用してカスタムDatabaseFileArchive実装を登録できますか?
    1. ファイルアーカイブローダーでは無視されるので、この時点で必要なタイルソースを使用してください。第二のアプローチでは

、あなたはこれだけFYI、タイルのアーカイブの多くのいくつかのパフォーマンスの問題に遭遇することがあります。

編集:複数のTileOverlayを使用してこれを行う別の方法があります。基本レイヤー以外のすべてについては、読み込み線と背景を透明に設定します。

+0

私はOsmDroid v5を使用しています。私は複数のTileOverlaysを使用すると思います...ありがとう – Albert

関連する問題