Flutter Map Marker Cluster

为 flutter_map 提供漂亮的动画标记聚类功能。受 Leaflet.markercluster 启发。「Provides beautiful animated marker clustering functionality for flutter_map. Inspired by Leaflet.markercluster」

Github stars Tracking Chart

Flutter Map Marker Cluster

pub package travis

A Dart implementation of Leaflet.markercluster for Flutter apps.
This is a plugin for flutter_map package

Usage

Add flutter_map and flutter_map_marker_cluster to your pubspec:

dependencies:
  flutter_map: any
  flutter_map_marker_cluster: any # or the latest version on Pub

flutter_map package removed old layering system with v3.0.0 use MarkerClusterLayerWidget as member of children parameter list and configure it using MarkerClusterLayerOptions.

 @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Clustering Many Markers Page')),
      drawer: buildDrawer(context, ClusteringManyMarkersPage.route),
      body: FlutterMap(
        options: MapOptions(
          center: LatLng((maxLatLng.latitude + minLatLng.latitude) / 2,
              (maxLatLng.longitude + minLatLng.longitude) / 2),
          zoom: 6,
          maxZoom: 15,
        ),
        children: <Widget>[
          TileLayer(
            urlTemplate: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png',
          ),
          MarkerClusterLayerWidget(
            options: MarkerClusterLayerOptions(
              maxClusterRadius: 45,
              size: const Size(40, 40),
              alignment: Alignment.center,
              padding: const EdgeInsets.all(50),
              maxZoom: 15,        
              markers: markers,
              builder: (context, markers) {
                return Container(
                  decoration: BoxDecoration(
                      borderRadius: BorderRadius.circular(20),
                      color: Colors.blue),
                  child: Center(
                    child: Text(
                      markers.length.toString(),
                      style: const TextStyle(color: Colors.white),
                    ),
                  ),
                );
              },
            ),
          ),
        ],
      ),
    );
  }

Run the example

See the example/ folder for a working example app.

Supporting Me

A donation through my Ko-Fi page would be infinitly appriciated:
ko-fi

but, if you can't or won't, a star on GitHub and a like on pub.dev would also go a long way!

Every donation gives me fuel to continue my open-source projects and lets me know that I'm doing a good job.

Main metrics

Overview
Name With Ownerlpongetti/flutter_map_marker_cluster
Primary LanguageDart
Program languageDart (Language Count: 6)
Platform
License:BSD 3-Clause "New" or "Revised" License
所有者活动
Created At2019-06-05 19:02:49
Pushed At2025-03-31 17:51:36
Last Commit At2025-03-31 19:51:29
Release Count28
Last Release Namev1.0.0 (Posted on )
First Release Namev0.1.0 (Posted on )
用户参与
Stargazers Count271
Watchers Count12
Fork Count242
Commits Count293
Has Issues Enabled
Issues Count158
Issue Open Count1
Pull Requests Count54
Pull Requests Open Count1
Pull Requests Close Count20
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private