Flutter 地图标记集群

Leaflet.markercluster 在 Flutter 应用中的 Dart 实现。这是 flutter_map 包的一个插件。

用法

将 flutter_map 和 flutter_map_marker_cluster 添加到您的 pubspec

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

在您的 FlutterMap 中添加它,并使用 MarkerClusterGroupLayerOptions 进行配置。

  Widget build(BuildContext context) {
    return FlutterMap(
      options: new MapOptions(
        plugins: [
          MarkerClusterPlugin(),
        ],
      ),
      layers: [
        TileLayerOptions(
          urlTemplate: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
          subdomains: ['a', 'b', 'c'],
        ),
        MarkerClusterLayerOptions(
          maxClusterRadius: 120,
          height: 40,
          width: 40,
          fitBoundsOptions: FitBoundsOptions(
            padding: EdgeInsets.all(50),
          ),
          markers: markers,
          polygonOptions: PolygonOptions(
              borderColor: Colors.blueAccent,
              color: Colors.black12,
              borderStrokeWidth: 3),
          builder: (context, markers) {
            return FloatingActionButton(
              child: Text(markers.length.toString()),
              onPressed: null,
            );
          },
        ),
      ],
    );
  }

运行示例

请参阅 example/ 文件夹以获取可运行的示例应用程序。

GitHub

https://github.com/lpongetti/flutter_map_marker_cluster