【问题标题】:OsmDroid load multiple offline mapOsmDroid 加载多个离线地图
【发布时间】:2018-11-09 21:05:38
【问题描述】:

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

【问题讨论】:

    标签: android sqlite osmdroid


    【解决方案1】:

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

    如果您使用跨多个图块存档的相同图块源(例如“Mapnik”),则无需执行任何操作。只需使用默认的磁贴提供程序,设置setUseDataConnection(false),将磁贴源设置为与档案中的源匹配,然后您就可以参加比赛了。从 5.0 开始,您还可以使用 OfflineTileProvider 并明确指定要加载的切片存档。

    如果您正在使用混合磁贴源并想要创建一个组合(例如,忽略所有磁贴源名称并只显示第一个可用的磁贴),那么这也可以通过一些技巧来实现。

    1. 首先,覆盖 DatabaseFileArchive 并取消对切片源名称的检查
    2. 根据需要覆盖其他存档类以删除对切片源名称的检查。
    3. 如果您使用的是 v5 或更新版本,则可以使用 ArchiveFileFactory.registerArchiveFileProvider 注册您的自定义 DatabaseFileArchive 实现 早于 v5?使用自定义磁贴提供程序
      1. 此时使用您想要的任何切片源,因为文件存档加载器会忽略它。

    使用第二种方法时,您可能会遇到大量磁贴存档的一些性能问题,因此仅供参考。

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

    【讨论】:

    • 我使用 OsmDroid v5,我想使用多个 TileOverlays...谢谢
    猜你喜欢
    • 1970-01-01
    • 2016-10-11
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    相关资源
    最近更新 更多