猿问

Android - Osmdroid 6.0.2,从SqlTileWriter切换到

我正在玩 Osmdroid 以在应用程序中使用。我已经有一个磁贴服务器并且想要使用这些磁贴。查看文档使用setTileSource(new XYTileSource())魔法发生了。我不得不提一下,文档在很多方面都有些陈旧。


上述服务器的磁贴已在应用程序中以不同的功能使用。按照逻辑,我想使用相同的缓存位置,这样我就不会在系统中出现重复的图块。再次通过文档,使用Configuration.getInstance().setOsmdroidTileCase(new File("path"))并再次一切正常。这并不容易,因为文档中提到了 Osmdroids Constants 类,该类在最新的稳定版中有所更改。


然后最后一部分是从其他功能更改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告诉我存储不可写。授予应用程序权限,现在可写,仍然没有。我注意到除了瓷砖文件夹之外,.db文件已经创建,但瓷砖表是空的。我回到上面的代码并将其替换new TileWriter()为new SQLTileWriter()仅用于健全性检查,并且地图工作正常,无需任何权限。


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


幕布斯7119047
浏览 159回答 1
1回答

Qyouu

对于任何可能会遇到这个问题的人,我在 Osmdroid 的 Github 页面中打开了一个问题,我们发现并解决了这个问题。请查看此链接以获取更多信息。
随时随地看视频慕课网APP

相关分类

Java
我要回答