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()