我准备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 回答
您应该使用tile packager来创建您的zip或mobile atlas creator . 但是,如果您将zip中的所有* .tile文件重命名为* .png,它应该可以工作(未经过测试) .