我使用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同时使用在线和离线地图吗?
答案 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/”}));
希望它可以帮助其他有同样问题的人