clusterMarkerBuilder static method

Future<Marker> clusterMarkerBuilder({
  1. required BuildContext context,
  2. required Cluster<MapCluster> cluster,
  3. required void onTap(),
  4. Color? clusterMarkerColor,
  5. Color? defaultSingleMarkerColor,
  6. double? clusterMarkerSize = 132.0,
  7. double? defaultSingleMarkerSize = 88.0,
  8. BitmapDescriptor? singleMarker,
})

Implementation

static Future<Marker> clusterMarkerBuilder({
  required BuildContext context,
  required Cluster<MapCluster> cluster,
  required void Function() onTap,
  Color? clusterMarkerColor,
  Color? defaultSingleMarkerColor,
  double? clusterMarkerSize = 132.0,
  double? defaultSingleMarkerSize = 88.0,
  BitmapDescriptor? singleMarker,
}) async {
  final dimension = cluster.isMultiple ? clusterMarkerSize : defaultSingleMarkerSize;
  final clusterByteData = await MapMarkerUtil.createClusterMarker(
    clusterCount: cluster.count,
    dimension: dimension ?? 132.0,
    markerColor: clusterMarkerColor ?? ColorName.blue,
    context: context,
  );
  final singleByteData = await MapMarkerUtil.createSingleMarker(
    dimension: dimension ?? 88.0,
    markerColor: defaultSingleMarkerColor ?? ColorName.blue,
  );
  final clusterIcon = BitmapDescriptor.fromBytes(clusterByteData);
  final singleIcon = BitmapDescriptor.fromBytes(singleByteData);
  return Marker(
    icon: cluster.isMultiple ? clusterIcon : singleMarker ?? singleIcon,
    onTap: onTap,
    position: cluster.location,
    markerId: MarkerId(cluster.getId()),
  );
}