enableToggleInteraction property
Enables the toggle interaction for the legend.
Defaults to false.
When this is enabled, respective shape or bubble for the legend item will be toggled on tap or click.
late List<DataModel> _data;
late MapShapeSource _mapSource;
@override
void initState() {
super.initState();
_data = <DataModel>[
DataModel('India', 280, "Low"),
DataModel('United States of America', 190, "High"),
DataModel('Pakistan', 37, "Low"),
];
_mapSource = MapShapeSource.asset(
"assets/world_map.json",
shapeDataField: "name",
dataCount: _data.length,
primaryValueMapper: (int index) {
return _data[index].country;
},
shapeColorValueMapper: (int index) {
return _data[index].storage;
},
shapeColorMappers: [
MapColorMapper(value: "Low", color: Colors.red),
MapColorMapper(value: "High", color: Colors.green)
],
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Default legend'),
),
body: Center(
child: SfMaps(
layers: [
MapShapeLayer(
source: _mapSource,
legend: MapLegend(
MapElement.shape,
enableToggleInteraction: true,
),
)
],
),
),
);
}
class DataModel {
const DataModel(this.country, this.count, this.storage);
final String country;
final double count;
final String storage;
}
Implementation
final bool enableToggleInteraction;