clusterMarkerBuilder static method
Future<Marker>
clusterMarkerBuilder({
- required BuildContext context,
- required Cluster<
MapCluster> cluster, - required void onTap(),
- Color? clusterMarkerColor,
- Color? defaultSingleMarkerColor,
- double? clusterMarkerSize = 132.0,
- double? defaultSingleMarkerSize = 88.0,
- 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()),
);
}