final MapTileProviderBasic tileProvider = new MapTileProviderBasic(getContext().getApplicationContext());
如果要自定义瓦片数据源,新建一个类实现ITileSource,替换下面这句即可
final ITileSource tileSource = new XYTileSource("FietsRegionaal", 3, 18, 256, ".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()