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()
    原文作者:Night999
    原文地址:
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。