天天看點

Osm地圖osmdroid下載下傳離線地圖,第三方瓦片地圖

final MapTileProviderBasic tileProvider = new MapTileProviderBasic(getContext().getApplicationContext());
           

如果要自定義瓦片資料源,建立一個類實作ITileSource,替換下面這句即可

final ITileSource tileSource = new XYTileSource("FietsRegionaal",  , , , ".png",new String[] { "http://overlay.openstreetmap.nl/openfietskaart-rcn/" });
           
tileProvider.setTileSource(tileSource);
final TilesOverlay tilesOverlay = new TilesOverlay(tileProvider, this.getContext());
tilesOverlay.setLoadingBackgroundColor(Color.TRANSPARENT);
tilesOverlay.setLoadingLineColor(Color.TRANSPARENT);
tilesOverlay.setLoadingDrawable(null);

//這句非常重要,官方demo中沒有提到這一點,不然下載下傳下來的不是指定圖源的瓦片
mMapView.setTileProvider(tileProvider);
mMapView.getOverlays().add(tilesOverlay);
           

然後其他的就和demo中一樣了,不多說

//寫入器
writer = new SqliteArchiveTileWriter(outputName);
//下載下傳管理器
mgr = new CacheManager(mMapView, writer);
//待下載下傳瓦片數量
int tilecount = mgr.possibleTilesInArea(bb, zoommin, zoommax);
//開始下載下傳
 mgr.downloadAreaAsync()