Interactive, vector-tile, fully styleable maps for Flutter on Android, iOS and Web, powered by the open source MapLibre engines.
Vendor-neutral: host your own tiles or mix providers, no proprietary token required.
✨ New: try the package live in your browser and browse the full docs, no setup or API keys required.
flutter pub add maplibre_glimport 'package:maplibre_gl/maplibre_gl.dart';
MapLibreMap(
initialCameraPosition: const CameraPosition(target: LatLng(0, 0), zoom: 2),
styleString: 'https://demotiles.maplibre.org/style.json',
);Then head to the getting started guide for platform setup (iOS/Android permissions, the web <script> tag) and to learn how to add markers, layers, offline tiles and more.
Migrating from flutter-mapbox-gl? See the migration guide.
Engines: maplibre-native (Android/iOS), maplibre-gl-js (Web). Only a subset of native SDK APIs is exposed, PRs to extend coverage are welcome.
| Feature | Android | iOS | Web |
|---|---|---|---|
| Style, Camera, Gesture | ✅ | ✅ | ✅ |
| User Location | ✅ | ✅ | ✅ |
| Symbol / Circle / Line / Fill | ✅ | ✅ | ✅ |
| Fill Extrusion | ✅ | ✅ | ✅ |
| Heatmap Layer | ✅ | ✅ | ✅ |
See the full feature matrix for details.
dart pub global activate melos
melos bootstrapThis is a melos workspace (maplibre_gl, maplibre_gl_web, maplibre_gl_platform_interface). Layer/source helpers are generated, don't edit them directly; run melos run generate && melos format-all. See CONTRIBUTING.md before opening a PR, and the architecture docs for an overview.
This project is a fork of flutter-mapbox-gl. ❤️
Example app · API reference · Changelog · Discussions · Issues · Slack
A huge thanks to everyone who has contributed to this project!
See LICENSE.