getTileBitmapAsync method

  1. @override
Future<TileBitmap?> getTileBitmapAsync(
  1. Tile tile
)
override

Implementation

@override
Future<TileBitmap?> getTileBitmapAsync(Tile tile) async {
  String filename = _calculateFilename(tile);
  if (!_files.contains(filename)) {
    // not yet initialized or not in cache
    return null;
  }
  File file = File(filename);
  try {
    Image image = await _readImageFromFile(filename);
    TileBitmap tileBitmap =
        FlutterTileBitmap(image, "FileTileBitmapCache ${tile.toString()}");
    return tileBitmap;
  } catch (e) {
    _log.warning(
        "Error while reading image from file, deleting file $filename");
    _files.remove(filename);
    try {
      await file.delete();
    } catch (error) {
      // ignore problem, file is already deleted
    }
  }
  return null;
}