clusterProperties property
An object defining custom properties on the generated clusters if clustering is enabled, aggregating values from clustered points. Has the form {"property_name": [operator, map_expression]}. operator is any expression function that accepts at least 2 operands (e.g. "+" or "max") — it accumulates the property value from clusters/points the cluster contains; map_expression produces the value of a single point.
Example: {"sum": ["+", ["get", "scalerank"]]}.
For more advanced use cases, in place of operator, you can use a custom reduce expression that references a special ["accumulated"] value, e.g.:
{"sum": [["+", ["accumulated"], ["get", "sum"]], ["get", "scalerank"]]}
Implementation
Future<Map<String, dynamic>?> get clusterProperties async {
final localStyle = style;
if (localStyle == null) return null;
final raw = (await localStyle.getStyleSourceProperty(
id,
"clusterProperties",
)).value;
if (raw == null) return null;
return Map<String, dynamic>.from(
raw as Map<dynamic, dynamic>,
).cast<String, dynamic>();
}