initialise static method Null safety

Future<FlutterMapTileCaching> initialise(
  1. {String? customRootDirectory,
  2. FMTCSettings? customSettings}
)

Initialise and prepare FMTC, by creating all neccessary directories/files and configuring the FlutterMapTileCaching singleton

Prefer to leave customRootDirectory as null, which will use getApplicationDocumentsDirectory(). Alternativley, pass a custom directory - it is recommended to not use a cache directory, as the OS can clear these without notice at any time.

You must construct using this before using FlutterMapTileCaching.instance, otherwise a StateError will be thrown.

This returns a configured FlutterMapTileCaching, the same object as FlutterMapTileCaching.instance. Note that FMTC is an alias for this object.

Implementation

static Future<FlutterMapTileCaching> initialise({
  String? customRootDirectory,
  FMTCSettings? customSettings,
}) async {
  final directory = await ((customRootDirectory == null
              ? await getApplicationDocumentsDirectory()
              : Directory(customRootDirectory)) >>
          'fmtc')
      .create(recursive: true);
  final settings = customSettings ?? FMTCSettings();

  await FMTCRegistry.initialise(
    directory: directory,
    databaseMaxSize: settings.databaseMaxSize,
    databaseCompactCondition: settings.databaseCompactCondition,
  );
  return _instance = FMTC._(
    rootDirectory: RootDirectory._(directory),
    settings: settings,
  );
}