Osmdroid 加载多个离线地图 zip 文件报错:MalformedURLException 解决方法
"该错误是由于地图瓦片的URL格式不正确导致的。在加载地图瓦片时,osmdroid会根据TileSource的配置生成瓦片URL,然后使用URL下载瓦片。但是在你的代码中,并没有指定瓦片的URL格式,导致生成的URL缺少协议部分。\n\n要解决这个问题,你可以自定义一个TileSource,然后在其中指定瓦片的URL格式。例如:\n\npublic class CustomTileSource extends BitmapTileSourceBase {\n\n public CustomTileSource(String aName, int aZoomMinLevel, int aZoomMaxLevel, int aTileSizePixels, String aImageFilenameEnding, String[] aBaseUrl) {\n super(aName, aZoomMinLevel, aZoomMaxLevel, aTileSizePixels, aImageFilenameEnding, aBaseUrl);\n }\n\n @Override\n public String getTileURLString(MapTile aTile) {\n StringBuilder url = new StringBuilder();\n url.append(getBaseUrl());\n url.append(aTile.getZoomLevel());\n url.append("/");\n url.append(aTile.getX());\n url.append("/");\n url.append(aTile.getY());\n url.append(getImageFilenameEnding());\n return url.toString();\n }\n}\n\n然后在你的代码中使用CustomTileSource替代tileSource:\n\nTileSource tileSource = new CustomTileSource("Custom", 0, 18, 256, ".png", new String[] { "" });\n\n这样,osmdroid就会根据CustomTileSource的配置生成正确的瓦片URL,从而解决该错误。\n\n"
原文地址: https://www.cveoy.top/t/topic/pFeV 著作权归作者所有。请勿转载和采集!