【发布时间】:2018-11-09 21:05:38
【问题描述】:
我有不同的 .sqlite 地图文件,我想在 MapView 上加载。 我只能加载一个 sqlite 文件。 是否可以加载多个离线地图?在我的情况下,不同的 sqlite 文件。
【问题讨论】:
我有不同的 .sqlite 地图文件,我想在 MapView 上加载。 我只能加载一个 sqlite 文件。 是否可以加载多个离线地图?在我的情况下,不同的 sqlite 文件。
【问题讨论】:
简而言之,答案是肯定的。具有讽刺意味的是,几天前我自己也这样做了。
如果您使用跨多个图块存档的相同图块源(例如“Mapnik”),则无需执行任何操作。只需使用默认的磁贴提供程序,设置setUseDataConnection(false),将磁贴源设置为与档案中的源匹配,然后您就可以参加比赛了。从 5.0 开始,您还可以使用 OfflineTileProvider 并明确指定要加载的切片存档。
如果您正在使用混合磁贴源并想要创建一个组合(例如,忽略所有磁贴源名称并只显示第一个可用的磁贴),那么这也可以通过一些技巧来实现。
ArchiveFileFactory.registerArchiveFileProvider 注册您的自定义 DatabaseFileArchive 实现
早于 v5?使用自定义磁贴提供程序
使用第二种方法时,您可能会遇到大量磁贴存档的一些性能问题,因此仅供参考。
编辑:还有另一种方法可以做到这一点,使用多个 TileOverlays。对于基础层以外的所有内容,将加载线和背景设置为透明。
【讨论】: