【问题标题】:Android - Osmdroid 6.0.2, switch from SqlTileWriter to TileWriter (local storage)Android - Osmdroid 6.0.2,从SqlTileWriter切换到TileWriter(本地存储)
【发布时间】:2018-10-23 01:55:27
【问题描述】:

我正在使用 Osmdroid 在应用程序中使用。我已经有一个瓷砖服务器并想使用这些瓷砖。查看了使用setTileSource(new XYTileSource()) 的文档,魔法发生了。我不得不提一下,文档在很多部分都有些陈旧。

上述服务器的磁贴已在应用程序中以不同的功能使用。按照逻辑要求,我想使用相同的缓存位置,这样我就不会在系统中拥有重复的切片。再次通过文档,使用Configuration.getInstance().setOsmdroidTileCase(new File("path")),一切都很好。这并不容易,因为文档引用了 Osmdroids 常量类,该类在最新的稳定版本中进行了更改。

最后一部分是从SqlTileWriter 更改为普通的TileWriter,因为我们已经从其他功能下载了图像文件。这是我无法弄清楚的地方。我正在使用:

MapTileProviderBasic tileProvider = new MapTileProviderBasic(getActivity(), new XYTileSource("My Tiles", 5, 16, 256, ".png",
            new String[]{"SERVER_URL"}), new TileWriter());
mMap.setTileProvider(tileProvider);

事情变得很奇怪。图像实际上正在下载,但地图仅显示加载背景。在日志中我得到StorageUtils 告诉我存储不可写。授予应用程序权限,现在可写,仍然没有。我注意到除了tiles文件夹之外,.db文件已经被创建,但是tiles表是空的。我回到上面的代码并用new SQLTileWriter() 替换了new TileWriter(),只是为了进行完整性检查,地图工作得很好,没有任何权限。

所以主要问题。 如何从 SQL 转为存储 TileWriter?

【问题讨论】:

    标签: java android osmdroid


    【解决方案1】:

    对于可能遇到此问题的任何人,我在 Osmdroid 的 Github 页面中打开了一个问题,我们在那里找到并解决了该问题。看看这个link 了解更多信息。

    【讨论】:

      猜你喜欢
      • 2021-07-19
      • 1970-01-01
      • 2018-02-06
      • 2023-03-05
      • 2013-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多