How Does It Work?

A high level overview for those new to 'web' maps

1

👀 Tile Layer

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.

2

🤩 More Layers... More... More...

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!

3

🛠️ Configure The Map

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.

4

🎮 Control The Map

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

Last updated

Was this helpful?