这个错误是因为 MapTileFileArchiveProvider 类不能直接转换为 MapTileProviderBase 类导致的。要解决这个问题,你需要创建一个 MapTileProviderBase 对象,并将 MapTileFileArchiveProvider 对象传递给它。\n\n你可以按照以下步骤进行优化:\n\n1. 导入所需的类:\njava\nimport org.osmdroid.tileprovider.MapTileProviderBase;\nimport org.osmdroid.tileprovider.modules.MapTileFileArchiveProvider;\nimport org.osmdroid.tileprovider.tilesource.TileSourceFactory;\nimport org.osmdroid.views.MapView;\nimport org.osmdroid.views.util.ResourceProxyImpl;\nimport org.osmdroid.views.util.constants.MapViewConstants;\n\n\n2. 创建 MapTileProviderBase 对象:\njava\nMapTileProviderBase tileProvider = new MapTileProviderBase(getContext(), \n TileSourceFactory.DEFAULT_TILE_SOURCE, null);\ntileProvider.setMapTileProviderListener((MapViewConstants) mapView);\n\n\n3. 将 MapTileFileArchiveProvider 对象添加到 MapTileProviderBase 对象中:\njava\ntileProvider.addTileSource(new MapTileFileArchiveProvider(new SimpleRegisterReceiver(getContext()), \n TileSourceFactory.DEFAULT_TILE_SOURCE, (IArchiveFile[]) new File[]{mapFile1, mapFile2}));\n\n\n4. 设置地图视图的 TileProvider:\njava\nmapView.setTileProvider(tileProvider);\n\n\n这样做可以解决转换错误并优化你的代码。

OSMDroid 运行错误:MapTileFileArchiveProvider 无法转换为 MapTileProviderBase 解决方案

原文地址: https://www.cveoy.top/t/topic/pFcm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录