osmdroid错误下载Maptile

时间:2016-06-21 01:09:11

标签: android google-maps dictionary offline osmdroid

我使用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同时使用在线和离线地图吗?

1 个答案:

答案 0 :(得分:3)

我通过改变这一行解决了我的问题。

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/”}));

希望它可以帮助其他有同样问题的人