Skip to content
Make with

Flutter MapLibre

Modern Flutter MapLibre bindings

Maintained by josxha

Modern Flutter MapLibre package that provides comprehensive bindings for MapLibre SDKs. Uses maplibre-gl-js for web and maplibre-native for mobile platforms, offering better cross-platform support.

Quick start

flutter pub add maplibre
import 'package:flutter/material.dart';
import 'package:maplibre/maplibre.dart';

class MapScreen extends StatelessWidget {
  const MapScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: MapLibreMap(
        options: const MapOptions(
          initStyle: 'https://tiles.openfreemap.org/styles/liberty',
          initCenter: Geographic(lon: 9.17, lat: 47.68),
          initZoom: 3,
        ),
      ),
    );
  }
}
›Setup noteschecked with v0.3.6

Version 0.3.6 needs Dart 3.12 and Flutter 3.44 or newer. On iOS, turn on the Swift Package Manager (flutter config --enable-swift-package-manager); on Android, use Kotlin 1.9.0 or newer. For web, add the maplibre-gl 5.x script and CSS tags to web/index.html. Windows and macOS support is experimental and runs through a WebView with the extra maplibre_webview package.

Other platforms are on SDKs.