天天看点

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