MapLibre for Flutter

Pub Version likes Pub Points Pub Popularity

GitHub last commit stars GitHub issues

This package provides unofficial Flutter bindings for MapLibre SDKs.

  • maplibre-gl-js is used for web
  • maplibre-native (previously named maplibre-gl) is used for android and in the future for iOS, windows, macOS and Linux

MapLibre is a permissive and open source solution for the MVT (Mapbox Vector Tile) standard. By binding to native SDKs the package accomplishes performant rendering while supporting a lot of complex functionality.

Use custom styles for your map Tilt or rotate your map
Custom styled map Tilted and rotated map

Resources

Demo Application

Check out the hosted demo application or dive into the example app code.

Get started & Documentation

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.

State of implementation

This package is still a young package and in an early stage. While it offers a modern implementation, it currently lacks some functionality. See our documentation to learn more.

Development & Contributing

If you need a feature or experience a bug you want to fix contributions are welcome.

Run code generation

dart run pigeon --input pigeons/pigeon.dart 
cp ios/Classes/Pigeon.g.swift macos/Classes/Pigeon.g.swift

Test with WebAssembly

flutter pub global activate dhttpd # only once
cd example
flutter build web --wasm
dhttpd '--headers=Cross-Origin-Embedder-Policy=credentialless;Cross-Origin-Opener-Policy=same-origin' --path=build/web

or follow the flutter documentation about WebAssembly builds.

Libraries

maplibre