public static Bitmap approximateTileFromLowerZoom(
            final MapTileModuleProviderBase pProvider,
            final long pMapTileIndex, final int pZoomDiff) {
        if (pZoomDiff <= 0) {
            return null;
        }
        final int srcZoomLevel = MapTileIndex.getZoom(pMapTileIndex) - pZoomDiff;
        if (srcZoomLevel < pProvider.getMinimumZoomLevel()) {
            return null;
        }
        if (srcZoomLevel > pProvider.getMaximumZoomLevel()) {
            return null;
        }
        final long srcTile = MapTileIndex.getTileIndex(srcZoomLevel,
                MapTileIndex.getX(pMapTileIndex) >> pZoomDiff,
                MapTileIndex.getY(pMapTileIndex) >> pZoomDiff);
        try {
            final Drawable srcDrawable = pProvider.getTileLoader().loadTile(srcTile);
            if (!(srcDrawable instanceof BitmapDrawable)) {
                return null;
            }
            return approximateTileFromLowerZoom((BitmapDrawable) srcDrawable, pMapTileIndex, pZoomDiff);
        } catch (Exception e) {
            return null;
        }
    }
public static Bitmap approximateTileFromLowerZoom ( final MapTileModuleProviderBase pProvider , final long pMapTileIndex , final int pZoomDiff ) { if ( pZoomDiff <= 0 ) { return null ; } final int srcZoomLevel = MapTileIndex . getZoom ( pMapTileIndex ) - pZoomDiff ; if ( srcZoomLevel < pProvider . getMinimumZoomLevel ( ) ) { return null ; } if ( srcZoomLevel > pProvider . getMaximumZoomLevel ( ) ) { return null ; } final long srcTile = MapTileIndex . getTileIndex ( srcZoomLevel , MapTileIndex . getX ( pMapTileIndex ) > > pZoomDiff , MapTileIndex . getY ( pMapTileIndex ) > > pZoomDiff ) ; try { final Drawable srcDrawable = pProvider . getTileLoader ( ) . loadTile ( srcTile ) ; if ( ! ( srcDrawable instanceof BitmapDrawable ) ) { return null ; } return approximateTileFromLowerZoom ( ( BitmapDrawable ) srcDrawable , pMapTileIndex , pZoomDiff ) ; } catch ( Exception e ) { return null ; } }
Approximate a tile from a lower zoom level

@since 6.0.0
@param pProvider Source tile provider
@param pMapTileIndex Destination tile, for the same place on the planet as the source, but on a higher zoom
@param pZoomDiff Zoom level difference between the destination and the source; strictly positive
@return