position property Null safety

MapLegendPosition position

Positions the legend in the different directions.

Defaults to MapLegendPosition.top.

late List<DataModel> _data;
late MapShapeSource _mapSource;

 void initState() {

   _data = <DataModel>[
     DataModel('India', 280, "Low"),
     DataModel('United States of America', 190, "High"),
     DataModel('Pakistan', 37, "Low"),

   _mapSource = MapShapeSource.asset(
     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)

 Widget build(BuildContext context) {
   return Scaffold(
     appBar: AppBar(
       title: Text('Bar legend'),
     body: Center(
       child: SfMaps(
         layers: [
             source: _mapSource,
             legend: MapLegend.bar(
               position: MapLegendPosition.right,

class DataModel {
  const DataModel(this.country, this.count, this.storage);

  final String country;
  final double count;
  final String storage;

See also:

  • offset, to place the legend in custom position.


final MapLegendPosition position;