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.
Globe View
![]() |
Custom Styling
![]() |
Pitch and Rotate
![]() |
Raster Tiles
![]() |
3D Building Outlines
![]() |
Heatmaps
![]() |
Polygons
![]() |
Elevation
![]() |
Lines
![]() |
Circles
![]() |
Markers
![]() |
Many features of the package are showcased in the example app.
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:
- 🌟Give the project on GitHub and pub.dev.
- 🪴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.