首页 文章

如何为osmdroid准备离线 Map 的 Map 图块存档?

提问于
浏览
1

我准备this simple project来测试osmdroid的离线 Map 功能 . 在第一步中,我使用Internet连接下载磁贴 . 一切都按预期工作 . 以下代码段显示包含 Map 视图的活动的设置 .

public class MainActivity extends Activity {

    public static final GeoPoint BERLIN = new GeoPoint(52.516667, 13.383333);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MapView mapView = (MapView) findViewById(R.id.mapview);
        mapView.setClickable(true);
        mapView.setBuiltInZoomControls(true);
        mapView.setMultiTouchControls(true);
        mapView.setUseDataConnection(true);
        mapView.setTileSource(TileSourceFactory.MAPNIK);

        IMapController mapViewController = mapView.getController();
        mapViewController.setZoom(15);
        mapViewController.setCenter(BERLIN);
    }

}

现在我想手动提供包含tile位图的存档文件 . 这些是我为离线模式做准备的步骤:

  • 我压缩了SD卡上现有的文件夹,可以在 /mnt/sdcard/osmdroid/tiles/ 中找到 .

  • 我将生成的 Mapnik.zip 上一级放在 /mnt/sdcard/osmdroid/ 中 .

  • 我删除 /mnt/sdcard/osmdroid/tiles/Mapnik 中的所有缓存切片 .

现在我 turn off 手机上的无线连接并重启应用程序 . No map tile shows up. 为什么?

1 回答

  • 1

    您应该使用tile packager来创建您的zip或mobile atlas creator . 但是,如果您将zip中的所有* .tile文件重命名为* .png,它应该可以工作(未经过测试) .

相关问题