osmdroid 错误下载 Maptile

osmdroid error downloading Maptile

我在使用 osmdroid 时遇到问题

当我使用此代码时

map.setTileSource(TileSourceFactory.MAPQUESTOSM);

我使用在线地图没问题。但是这不允许我使用来自sd的离线地图。

因此,我改为

map.setTileSource(new XYTileSource("MapQuest", 0, 18, 256, ".jpg", new String[]{}));

这允许我加载离线地图,但我无法同时接收在线地图,

我收到这个错误:

Error downloading MapTile: /18/130173/86895
  java.lang.IllegalArgumentException: n <= 0: 0
      at java.util.Random.nextInt(Random.java:182)
      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:178)
      at org.osmdroid.tileprovider.modules.MapTileModuleProviderBase$TileLoader.run(MapTileModuleProviderBase.java:291)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
      at java.lang.Thread.run(Thread.java:818)

我确定我有上网权限,请问osmdroid如何同时使用在线和离线地图?

我改用这条线解决了我的问题。

map.setTileSource(new XYTileSource("MapQuest", 0, 18, 256, ".jpg", new String[] { "http://otile1.mqcdn.com/tiles/1.0.0/map/", "http://otile2.mqcdn.com/tiles/1.0.0/map/"}));

希望对遇到同样问题的其他人有所帮助