我准备了this simple project来测试osmdroid的离线地图功能。在第一步中,我使用Internet连接下载磁贴。一切都按预期工作。以下代码段显示了包含地图视图的活动的设置。
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);
}
}
现在我想手动提供包含磁贴位图的存档文件。这些是我为离线模式做准备的步骤:
/mnt/sdcard/osmdroid/tiles/
。Mapnik.zip
一级放在/mnt/sdcard/osmdroid/
。/mnt/sdcard/osmdroid/tiles/Mapnik
中的所有缓存切片。现在我关闭手机上的无线连接并重启应用程序。 没有地图图块显示。为什么?
答案 0 :(得分:1)
您应该使用tile packager来创建自己的拉链,或mobile atlas creator。但是,如果您将zip中的所有* .tile文件重命名为* .png,它应该可以工作(未经测试)。