maplibre_gl 0.27.0
maplibre_gl: ^0.27.0 copied to clipboard
Native MapLibre maps for Flutter: Mapbox Vector Tile (MVT) and PMTiles sources, custom styles, GeoJSON layers and offline regions on Android, iOS and Web.
Flutter MapLibre GL
Interactive, fully styleable vector maps on Android, iOS and Web, powered by open source MapLibre.
Vendor-neutral: host your own tiles or mix providers, no account or API key required to get started.
β¨ Try it before you install: run the package live in your browser and read the full docs, no setup and no API keys.
πΌοΈ What it looks like #
| 3D buildings | Clustering | Globe, on web |
|---|---|---|
![]() |
![]() |
![]() |
| Data-driven styling | Heatmaps | Annotations |
|---|---|---|
![]() |
![]() |
![]() |
All of these are live in the demo, and every guide embeds an interactive map you can pan and click.
π Quick start #
flutter pub add maplibre_gl
import 'package:maplibre_gl/maplibre_gl.dart';
// Anywhere with bounded constraints, a Scaffold body for example:
MapLibreMap(
initialCameraPosition: const CameraPosition(target: LatLng(0, 0), zoom: 2),
styleString: 'https://demotiles.maplibre.org/style.json',
onStyleLoadedCallback: () {
// Add sources, layers and images here.
},
);
Requires Flutter 3.29+ Β· Dart 3.7+ Β· Android 5.0 (API 21)+ Β· iOS 13+ Β· a browser with WebGL2 (Safari 15+).
Then head to the getting started guide for platform setup (location permissions on iOS/Android; web needs no index.html changes) and to learn how to add markers, layers, offline tiles and more.
Upgrading from an earlier release? See the migration guide.
πΊοΈ Feature support #
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 | β | β | β |
| Annotations | β | β | β |
| All layer types (Symbol to Hillshade) | β | β | β |
| GeoJSON, vector, raster & PMTiles sources | β | β | β |
| Offline regions | β | β | β |
| Feature state | β | β | β |
See the full feature matrix for details.
Not supported: desktop targets (Windows, macOS, Linux), and Flutter widgets inside the map. The map is a
platform view rendered by the native engines, so your widgets go over it in a Stack, not between its layers.
π Links #
Example app Β· API reference Β· Changelog Β· Discussions Β· Issues Β· Slack (#maplibre-flutter)
π€ Contributing #
dart pub global activate melos
melos bootstrap
This is a melos workspace (maplibre_gl, maplibre_gl_web, maplibre_gl_platform_interface and the example app). Layer/source helpers are generated, don't edit them directly; run melos run generate && melos run 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. β€οΈ
π Contributors #
A huge thanks to everyone who has contributed to this project!
Made with contrib.rocks.
π License #
See LICENSE.






