Frequently Asked Questions
We get quite a lot of similar questions, so please check if your question is here before you ask!
How can I use a custom map style? How can I prevent POI/labels rotating when the map rotates? How can I remove certain POI/labels from the map?
Unfortunately, this library cannot provide this functionality. It has no control over the tiles displayed in the
TileLayer. This is a limitation of the technology, not this library.
This is because raster tiles are just images generated by a 3rd party tile server (dictated by your URL template), and therefore cannot be changed by the library that displays the tiles. Filters can be applied to the entire tile, such as an emulated dark mode, but these effects do not look great.
However, tilesets can be styled. This is the most effective way of using custom styles. These methods may help you with this:
- You may wish to use a commercial service like Mapbox Studio, which allows you to style multiple tilesets. See Using Mapbox.
- Alternatively, you can experiment with vector tiles. These are not pre-rendered, and so allow any style you desire to be applied on the fly. See Vector Tiles.
How can I route a user between two locations? Why does the
Polylineonly go in a straight line between two points?
How can I add a
Markerwhere the user's location is? How can I center the map on the user's location?
This is beyond the scope of flutter_map. However, you can use the community maintained plugin 'flutter_map_location_marker' to do this.
Alternatively, use the 'location' and 'compass' packages to generate a stream of the user's location and heading, and feed that to a
This is a limitation of the chosen tile server: it cannot provide tiles at any higher zoom level, so the map just disappears as the requests for tiles get 404 Not Found responses.
To resolve this, there's 3 options:
- Find a tile server with a higher maximum zoom level 22 is the highest that most will provide, including Mapbox
- Set the
maxNativeZoomproperty of the
TileLayerThis will scale the last set of tiles instead of requesting new ones, which has the side effect of making them blurry as their pixels are enlarged
- Set the
maxZoomproperty of the
MapOptionsThis will prevent the user from zooming any further in