我有離線osmdroid地圖工作使用版本4.0。升級到4.1,他們不再工作。我將問題縮小到了XYTileSource,其中aBaseUrl從4.0中的字符串變爲4.1中的數組,並且變爲4.1中的數組。如何讓離線切片在4.1中工作?如何在版本4.1中爲離線切片創建osmdroid XYTileSource?
工作的舊4.0代碼。瓷磚在/sdcard/osmdroid/tiles.zip
XYTileSource ts = new XYTileSource ("tiles",
ResourceProxy.string.offline_mode,
13,
17,
256,
".png",
"http://127.0.0.1");
mapView = (MapView) findViewById(R.id.mapview);
mapView.setTileSource(ts);
mapView.setMultiTouchControls(true);
mapView.setBuiltInZoomControls(false);
mapView.setUseDataConnection(false);
mapView.getController().setZoom(15);
GeoPoint point = new GeoPoint(40.715,-73.945);
mapView.getController().setCenter(point);
我試着改變它到這,但它不起作用。
String[] urls = {"http://127.0.0.1"};
XYTileSource ts = new XYTileSource ("tiles",
ResourceProxy.string.offline_mode,
13,
17,
256,
".png",
urls);
我認爲aBaseUrl更改不相關,特別是因爲您沒有使用在線服務器。你應該嘗試通過瓷磚供應商,看看他們是否返回瓷磚。 – kurtzmarc
在線提供商工作。這只是我用於離線切片的相同代碼,因此我不再使用4.1。 –
我想我放棄了osmdroid,並把單張放在webview中。它的性能要好得多,而且它可以只使用文件系統中的離線磁貼,而不是使用zip。 osmdroid在大型zip文件中遇到了內存問題。 –