OsmDroid加载多个离线地图

时间:2016-08-24 07:18:45

标签: android sqlite osmdroid

我有不同的.sqlite地图文件,我想在MapView上加载。 我只能加载一个sqlite文件。 是否可以加载多个离线地图?就我而言,不同的sqlite文件。

1 个答案:

答案 0 :(得分:0)

简而言之,答案是肯定的。具有讽刺意味的是,我几天前就是这样做的。

如果您使用相同的磁贴源,例如" Mapnik",跨越多个磁贴存档,那么您不应该做任何事情。只需使用默认磁贴提供程序,设置setUseDataConnection(false),设置磁贴来源以匹配归档中的内容源,即可进入比赛。从5.0开始,您还可以使用OfflineTileProvider并明确指定要加载的磁贴存档。

如果您正在使用混合切片源并想要创建合成(例如,忽略所有切片源名称并只显示第一个可用的切片),那么这也可能会有一些技巧。

  1. 首先,覆盖DatabaseFileArchive并删除对磁贴源名称的检查
  2. 根据需要覆盖其他存档类,以删除对磁贴源名称的检查。
  3. 如果您正在使用v5或更新版本,则可以使用ArchiveFileFactory.registerArchiveFileProvider注册自定义DatabaseFileArchive实现 比v5还老吗?使用自定义磁贴提供程序
    1. 此时使用您想要的任何图块源,因为它在文件存档加载程序中被忽略。
  4. 使用第二种方法,您可能会遇到很多磁贴存档的性能问题,所以只是一个FYI。

    编辑:使用多个TileOverlay还有另一种方法可以做到这一点。对于除基础图层以外的所有内容,请将加载线和背景设置为透明。