How Does It Work?
A high level overview for those new to 'web' maps
Last updated
A high level overview for those new to 'web' maps
Last updated
© flutter_map Authors & Maintainers
Unlike other popular mapping solutions, flutter_map doesn't come with an opinion on the best map style/tiles to use, so you'll need to bring your own tiles - either using a service, such as those listed in Tile Servers, or by creating and using your own custom ones!
We then allow you to add more on top of these tiles, and control and customize as far as you need.
It's a client to display 'tiled & WMS web' maps and other map features - not a map itself.
The basis of a map is the layer which shows square images, known as 'tiles'. When placed adjacent, this creates a single map! This can be panned (moved), rotated, and zoomed, to load new tiles dynamically. To show more detail, more images of the same dimensions are loaded in place.
There's loads of ways to source (see Tile Servers), store (Raster vs Vector Tiles), and reference (eg. XYZ vs WMS) tiles! We support most of them, except vector tiles. This documentation primarily uses examples referring to Slippy Maps implemented with XYZ referencing, but we also support many other kinds of maps.
However, you don't need to worry about most of this! Just follow the instructions from your source and it's easy to figure out how to use them in flutter_map.
See Tile Layerfor more information.
You can put any other kind of layer (or Widget
) on top of your TileLayer
. You can even put another TileLayer
in! See our Layers catalogue, make your own layers directly in Flutter, or use one of the excellent community-maintained plugins!
Once it looks how you imagined, you need it to act like you imagined. flutter_map provides comprehensive customizability for gesture/interactivity control & initial positioning. See Options for more info.
You can also control the map programmatically using a simple controller pattern. See Programmatic Interaction for more info.
Most map client libraries will work in a similar way, so if you've used leaflet.js or OpenLayers before, you'll be right at home 😄.
See the code demo on the landing page to see how easy it is and how it all fits together in code, and see what's possible in our example app.
flutter_map👀Demo & Examples