flutter_map_tile_caching library

A plugin for 'flutter_map' providing advanced offline functionality

Classes

BaseRegion
A geographical region that forms a particular shape
CircleRegion
A geographically circular region based off a center coord and radius
CustomPolygonRegion
A geographical region who's outline is defined by a list of coordinates
DownloadableRegion<R extends BaseRegion>
A downloadable region to be passed to bulk download functions
DownloadProgress
Statistics and information about the current progress of the download
ExistingTileEvent
The raw result of an existing tile download during bulk downloading
FailedRequestTileEvent
The raw result of a failed request tile download during bulk downloading
FailedTileEvent
The raw result of a failed tile download during bulk downloading
FMTCBackend
An abstract interface that FMTC will use to communicate with a storage 'backend' (usually one root)
FMTCBackendInternal
An abstract interface that FMTC will use to communicate with a storage 'backend' (usually one root), from a 'normal' thread (likely the UI thread)
FMTCBackendInternalThreadSafe
An abstract interface that FMTC will use to communicate with a storage 'backend' (usually one root), from an existing bulk downloading thread
FMTCObjectBoxBackend
Implementation of FMTCBackend that uses ObjectBox as the storage database
FMTCRoot
Provides access to statistics, recovery, migration (and the import functionality) on the intitialised root.
FMTCStore
Provides access to management, statistics, metadata, bulk download, the tile provider (and the export functionality) on the store named storeName
FMTCTileProvider
Specialised TileProvider that uses a specialised ImageProvider to connect to FMTC internals and enable advanced caching/retrieval logic
LineRegion
A geographically line/locus region based off a list of coords and a radius
MultiRegion
A region formed from multiple other BaseRegions
NegativeResponseTileEvent
The raw result of a negative response tile download during bulk downloading
RecoveredRegion<R extends BaseRegion>
A wrapper containing recovery & some downloadable region information, around a DownloadableRegion
RectangleRegion
A geographically rectangular region based off coordinate bounds
RootExternal
Export & import 'archives' of selected stores and tiles, outside of the FMTC environment
RootRecovery
Manages the download recovery of all sub-stores of this FMTCRoot
RootStats
Provides statistics about a FMTCRoot
SeaTileEvent
The raw result of a sea tile download during bulk downloading
SkippedTileEvent
The raw result of a skipped tile download during bulk downloading
StoreDownload
Provides bulk downloading functionality for a specific FMTCStore
StoreManagement
Manages an FMTCStore's representation on the filesystem, such as creation and deletion
StoreMetadata
Manage custom miscellaneous information tied to an FMTCStore
StoreStats
Provides statistics about an FMTCStore
SuccessfulTileEvent
The raw result of a successful tile download during bulk downloading
TileEvent
The result of a tile download during bulk downloading
TileLoadingInterceptorResult
Information useful to debug and record detailed statistics for the loading mechanisms and paths of a browsed tile load

Enums

BrowseLoadingStrategy
Determines whether the network or cache is preferred during browse caching, and how to fallback
BrowseStoreStrategy
Determines when tiles should be written to a store during browse caching
FMTCBrowsingErrorType
Defines the type of issue that a FMTCBrowsingError is reporting
ImportConflictStrategy
Determines what action should be taken when an importing store conflicts with an existing store of the same name
TileLoadingInterceptorResultPath
Methods that a tile can complete loading successfully

Mixins

TileEventFetchResponse
Indicates a TileEvent recieved a HTTP response from the TileEvent.url
TileEventImage
Indicates a TileEvent has an associated tile image

Typedefs

BrowsingExceptionHandler = Uint8List? Function(FMTCBrowsingError exception)
Callback type for FMTCTileProvider.errorHandler
CacheBehavior = BrowseLoadingStrategy
Alias for BrowseLoadingStrategy, to ease migration from v9 -> v10
ImportResult = ({Future<int> complete, Future<StoresToStates> storesToStates})
The result of RootExternal.import
StoresToStates = Map<String, ({bool hadConflict, String? name})>
A mapping of the original store name (as exported), to:
TileLoadingInterceptorMap = Map<TileCoordinates, TileLoadingInterceptorResult>
Mapping of TileCoordinates to TileLoadingInterceptorResult
UrlTransformer = String Function(String)
Callback type for FMTCTileProvider.urlTransformer & StoreDownload.startForeground

Exceptions / Errors

FMTCBackendError
An error to be thrown by backend implementations in known events only
FMTCBrowsingError
An Exception indicating that there was an error retrieving tiles to be displayed on the map
ImportExportError
A subset of FMTCBackendErrors that indicates a failure during import or export, due to the extended reason
ImportExportPathNotFile
Indicates that the specified path to import from or export to did exist, but was not a file
ImportFileNotBackendCompatible
Indicates that the import file was exported from a different FMTC backend, and is not compatible with the current backend
ImportFileNotFMTCStandard
Indicates that the import file was not of the expected standard, because it did not contain the appropriate footer signature
ImportPathNotExists
Indicates that the specified file to import did not exist/could not be found
RootAlreadyInitialised
Indicates that the backend/root structure could not be initialised, because it was already initialised
RootUnavailable
Indicates that the backend/root structure (ie. database and/or directory) was not available for use in operations, because either:
StoreNotExists
Indicates that the specified store structure was not available for use in operations, likely because it didn't exist