如何使用几个mapforge地图文件?

时间:2016-01-09 15:00:18

标签: osmdroid mapsforge

我尝试将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;
}

事实上地图就在这里,当我放大和缩小时我可以看到它,但是它们显示在白色背景上而不是透明的,所以它们被掩盖了。

无论如何,这是正确的方法吗?

谢谢,

0 个答案:

没有答案