flutter_map_tile_caching
A plugin for 'flutter_map' providing advanced offline functionality
Last updated
© Luka Stillingfleet (JaffaKetchup)
A plugin for 'flutter_map' providing advanced offline functionality
Last updated
You're viewing documentation for an older version of FMTC (v8).
For the latest documentation, see .
FMTC currently has some stability issues on certain platforms, especially iOS. These stability issues can cause unexpected behaviours.
I am working to resolve these issues in v9, benefiting from the improved stability of Isar v4.
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 (https://en.wikipedia.org/wiki/Jaffa_Cakes) - why do you think my username has "Jaffa" in it?
Many thanks for any amount you can spare, it means a lot to me!
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 https://www.gnu.org/licenses/gpl-3.0.en.html. choosealicense.com 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 fmtc@jaffaketchup.dev.
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:
For bug reports & feature requests: GitHub Issues
For implementation/general support: The #plugin channel on the flutter_map Discord server
For other inquires: fmtc@jaffaketchup.dev
For more information about what this means, see .
◉ 📲
Caching × Downloading
Get both dynamic caching that works automatically as the user browses the map, and bulk downloading to preload regions onto the user's device, all in one convenient package!
◉ 🏃
Ultra-fast & Performant
No need to bore your users to death anymore! Bulk downloading is super-fast, and can even reach speeds of over 600 tiles per second. Existing cached tiles can be displayed on the map almost instantly. Don't even mention memory consumption: you won't realise there is any.
Multi-threaded downloads
Tile buffering to reduce database writes
Streamlined behind-the-scenes to reduce memory consumption
◉ 🧩
Import & Export
Using one of our official extension modules, allow your users to share and backup their cached tiles! You could even remote control your organization's devices, by pushing tiles to them, keeping your tile requests (& costs) low!
◉ 💖
Quick To Implement (& Quicker To Love)
A basic caching implementation can be setup in four quick steps, and shouldn't even take 5 minutes to set-up. Check out our Quickstart instructions.
When you've done this, you'll realise how great your app is with FMTC