我正在玩 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?
添加回答
举报
0/150
提交
取消