This package provides Flutter bindings for the MapLibre SDKs through native interoperability (FFI/JNI). Its goal is to deliver a consistent, cross-platform experience with excellent performance.
- For web, it uses maplibre-gl-js, a fork of mapbox-gl-js.
- For Android and iOS, it uses maplibre-native (formerly maplibre-gl), a fork of mapbox-gl-native.
MapLibre is a permissive, open-source implementation of the Mapbox Vector Tile (MVT) standard. By leveraging native SDKs, this package enables high-performance rendering while supporting advanced mapping features.
View the planet as a globe
![]() |
Use custom vector styles
![]() |
Pitch or rotate the map
![]() |
Use raster tiles
![]() |
Add 3D building outlines
![]() |
Add heatmaps
![]() |
Add polygons
![]() |
Render elevation
![]() |
Add lines
![]() |
Add circles
![]() |
Add markers
![]() |
Visit the docs to learn how to get started with maplibre in your project: Get Started
If you want to know more about the classes and properties of the package, have a look at the API docs.
All kinds of contributions are welcome. Thanks a lot if you consider to contribute in any way! There are different ways how you can help the development:
- Use the package in your project and share feedback.
- Open bug reports in case you find any.
- If you need a specific feature, open a feature request. or post your idea as discussion.
- Enhance the package documentation.
- Sponsor this project: GitHub-Sponsors, PayPal.