gpt4 book ai didi

android - OSMdroid - 无法从自定义位置加载离线 map 图 block

转载 作者:太空狗 更新时间:2023-10-29 16:13:02 26 4
gpt4 key购买 nike

我环顾四周,找不到我希望很简单就能实现的答案 this问题似乎相似但没有回复!所以问题是这样的;我的 Android 设备上有我的离线 map 图 block :

/sdcard/application-name/uuid/tiles

我已经像这样设置了 OSM 缓存:

File applicationDir = new File(Environment.getExternalStorageDirectory(), File.separator + "application-name" + File.separator + "uuid" + File.separator);
OpenStreetMapTileProviderConstants.setCachePath(applicationDir.getAbsolutePath());

然后我设置了 TileSource:

ITileSource tileSource = new XYTileSource ("tiles", 0, 18, 256, ".png", new String[]{});

和 TileProvider:

tileProvider = new MapTileProviderBasic(getActivity());
tileProvider.setTileSource(tileSource);

当我运行我的应用程序时,我会得到一连串的信息:

Error downloading MapTile: /15/16000/9960
java.lang.IllegalArgumentException: n <= 0: 0
at java.util.Random.nextInt(Random.java:175)
at org.osmdroid.tileprovider.tilesource.OnlineTileSourceBase.getBaseUrl(OnlineTileSourceBase.java:33)
at org.osmdroid.tileprovider.tilesource.XYTileSource.getTileURLString(XYTileSource.java:19)
at org.osmdroid.tileprovider.modules.MapTileDownloader$TileLoader.loadTile(MapTileDownloader.java:171)
at org.osmdroid.tileprovider.modules.MapTileModuleProviderBase$TileLoader.run(MapTileModuleProviderBase.java:291)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)

大概是因为未找到本 map block ,MapTileProviderBasic 最终落入 MapTileDownloader 并因为没有在线图 block 而 barfs。

非常感谢收到任何建议!谢谢。

最佳答案

所以我最终通过使用设备上的 OSMDroid 默认位置解决了这个问题

/sdcard/osmdroid/uuid/tiles

然后像这样设置图 block 源

ITileSource tileSource = new XYTileSource(uuid, 0, 17, 256, ".png", new String[0]);

osmdroid 在 uuid 目录中查找名为“tiles”的子目录,尽管文档告诉您这一点,但不是很明确。我认为您可以使用这种方法使用 SD 卡上的任何位置,我只是决定使用最简单的解决方案。

关于android - OSMdroid - 无法从自定义位置加载离线 map 图 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38740647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com