ClusterManager<T extends ClusterItem> constructor

ClusterManager<T extends ClusterItem>(
  1. Iterable<T> _items,
  2. void updateMarkers(
    1. Set<Marker>
    ), {
  3. Future<Marker> markerBuilder(
    1. Cluster<T>
    )?,
  4. List<double> levels = const [1, 4.25, 6.75, 8.25, 11.5, 14.5, 16.0, 16.5, 20.0],
  5. double extraPercent = 0.5,
  6. int maxItemsForMaxDistAlgo = 200,
  7. ClusterAlgorithm clusterAlgorithm = ClusterAlgorithm.geoHash,
  8. MaxDistParams? maxDistParams,
  9. double? stopClusteringZoom,
  10. EdgeInsets? padding,
  11. double? devicePixelRatio,
})

Implementation

ClusterManager(
  this._items,
  this.updateMarkers, {
  Future<Marker> Function(Cluster<T>)? markerBuilder,
  this.levels = const [1, 4.25, 6.75, 8.25, 11.5, 14.5, 16.0, 16.5, 20.0],
  this.extraPercent = 0.5,
  this.maxItemsForMaxDistAlgo = 200,
  this.clusterAlgorithm = ClusterAlgorithm.geoHash,
  this.maxDistParams,
  this.stopClusteringZoom,
  EdgeInsets? padding,
  double? devicePixelRatio,
})  : markerBuilder = markerBuilder ?? _basicMarkerBuilder,
      assert(
        levels.length <= precision,
        'Levels length should be less than or equal to precision',
      ),
      devicePixelRatio = devicePixelRatio ??
          WidgetsBinding
              .instance.platformDispatcher.views.first.devicePixelRatio {
  this.padding = padding != null
      ? EdgeInsets.only(
          top: padding.top * this.devicePixelRatio,
          left: padding.left * this.devicePixelRatio,
          right: padding.right * this.devicePixelRatio,
          bottom: padding.bottom * this.devicePixelRatio,
        )
      : padding;
}