A plugin for 'flutter_map' providing advanced caching functionality, with ability to download map regions for offline use
FMTC is currently somewhat unstable for applications with a wide public reach, due to some issues with the Isar dependency.
v8 is much more stable than v7.
For more information about what this means, see Isar Stability Issues.
JaffaKetchup's list / FMTC Modules
This package is the core module of the FMTC project
Browse Caching
Setup customisable caching that works as your users browse the map, and makes your app more reliable for your user!
Choose from three different behaviours including: cache only, forced update, or update after expiry.
Bulk Downloading
Use alongside Browse Caching to provide large areas of maps to your users, just like other major mapping apps! There are multiple region types available, including: rectangle, circle, and line/locus.
This library also provides background bulk downloading in the background on Android, as well as automatic recovery just in case the download unexpectedly stops.
Fast & Reliable
This project uses the Isar database behind the scenes, which provides indexes and advanced querying to provide fantastic performance with self-contained database files. This means you can add this plugin with virtually zero negative performance impact, and benefit positivley in other ways!
If you're looking for a database to use in your own projects, check it out:
To reduce setup time, FMTC has multiple modules desgined to add functionality that might not be needed by all users. This also keeps the number of dependecies on the base package low.

Supporting Me

I work on all of my projects in my spare time, including maintaining (along with a team) Flutter's № 1 (non-commercially maintained) mapping library 'flutter_map', bringing it back from the brink of abandonment, as well as my own plugin for it ('flutter_map_tile_caching') that extends it with advanced caching and downloading. Additionally, I also own the Dart encoder/decoder for the QOI image format ('dqoi') - and I am slowly working on 'flutter_osrm', a wrapper for the Open Source Routing Machine.
Sponsorships & donations allow me to continue my projects and upgrade my hardware/setup, as well as allowing me to have some starting amount for further education and such-like. And of course, a small amount will find its way into my Jaffa Cakes fund ( - why do you think my username has "Jaffa" in it?
Many thanks for any amount you can spare, it means a lot to me!
You can read more about me and what I do on my GitHub Sponsors page, where you can donate as well.
Alternatively, if you prefer not to use GitHub Sponsors, please feel free to use my Ko-fi. Note that the PayPal backend will take a small percentage amount of donations made through this method.

(Proprietary) Licensing

I am not a lawyer, and this information is to the best of my understanding. You are urged to read the license yourself for a thorough understanding.
This project is released under GPL v3. For detailed information about this license, see summarises the license with the following paragraph:
Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights.
Essentially, whilst you can use this code within commercial projects, they must not be proprietary - they incorporate this 'licensed work' so they must be available under the same license. You must distribute your source code on request (under the same GPL v3 license) to anyone who uses your program.
However, I am willing to sell custom alternative proprietary licenses on a case-by-case basis and on request.
I learnt (and am still learning) to code with free, open-source software due to my age and lack of money, and for that reason, I believe in promoting open-source wherever possible to give equal opportunities to everybody, no matter their age or financial position. I'm not sure it's fair for commercial proprietary applications to use software made by people for free out of generosity. On the other hand, I am also trying to make a small amount of money from my projects, by donations or by selling licenses. And I recognise that commercial businesses may want to use my projects for their own proprietary applications.
Therefore, if you would like a license to use this software within a proprietary, I am willing to sell a (preferably yearly or usage based) license for a reasonable price. If this seems like what you want/need, please do not hesitate to get in touch at [email protected].

Get Help

Not quite sure about something? No problem. Please get in touch via any of these methods, and I'll be with you as soon as possible:
Last modified 1mo ago
© Luka Stillingfleet (JaffaKetchup)