我尝试将OSMdroid用于离线地图,但我想知道如何使用多个地图文件,因为mapsforge提供了几个文件来覆盖法国。
我尝试了下面的代码,但它不起作用:
boolean setMapsForgeTileProvider(){
GenericMapView genericMap = (GenericMapView) rootView.findViewById(R.id.mapview);
String path = Environment.getExternalStorageDirectory().getPath()+"/mapsforge/";
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
if (listOfFiles == null)
return false;
File mapFile = null;
for (File file:listOfFiles){
if (file.isFile() && file.getName().endsWith(".map")){
mapFile = file;
MapsForgeTileProvider mfProvider = new MapsForgeTileProvider(new SimpleRegisterReceiver(getActivity()), mapFile);
final TilesOverlay tilesOverlay = new TilesOverlay(mfProvider, getActivity());
tilesOverlay.setLoadingBackgroundColor(Color.TRANSPARENT);
genericMap.setTileProvider(mfProvider);
mMapView = genericMap.getMapView();
mMapView.getOverlays().add(tilesOverlay);
}
}
if (mapFile == null)
return false;
return true;
}
事实上地图就在这里,当我放大和缩小时我可以看到它,但是它们显示在白色背景上而不是透明的,所以它们被掩盖了。
无论如何,这是正确的方法吗?
谢谢,