我使用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)
我确定我有互联网的权限,我可以知道如何同时使用在线和离线地图吗?
我通过更改为此行解决了我的问题。
map.settilesource(new xytilesource(" mapquest",0,18,256," .jpg",new String [] { " http://otile1.mqcdn.com/tiles/1.0.0.0/map/", " http://otile2.mqcdn.com/tiles/1.0.0/map/"}));
希望它能帮助其他有相同问题的人