我环顾四周,无法找到答案,我希望是一个相当简单的事情来实现this问题似乎相似,但没有回复!所以问题是这样的;我有Android设备在这里我的离线地图图块:OSMdroid - 无法加载自定义位置的离线地图瓷砖
/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)
大概是因为当地的地砖都没有发现和MapTileProviderBasic最终落到MapTileDownloader并barfs因为没有网上瓷砖。
任何建议感激地收到! 谢谢。
你有没有试着写自己,看看会发生什么路径? –
我不认为路径是问题,当我对它进行硬编码时,它仍然失败。我认为问题在于Source或提供者。 – Nome
如果我看到任何东西,我会在几个小时内回复给您,因为我觉得我的和我的代码没什么区别,所以我必须与我的代码进行比较。 –