hideDelay property

double hideDelay

Specifies the duration of the tooltip visibility.

The default value of the hideDelay property is 3.

By default, the tooltip will disappear after 3 seconds of inactivity. You can always show the tooltip without hiding it by setting double.infinity to the hideDelay property.

When you perform a zoom/pan operation, a window resize, or a change of orientation, the tooltip will disappear.

late MapShapeSource _mapSource;
late List<DataModel> _data;

void initState() {
  _data = <DataModel>[
    DataModel('Asia', '44,579,000 sq. km.'),
    DataModel('Africa', '30,370,000 sq. km.'),
    DataModel('Europe', '10,180,000 sq. km.'),
    DataModel('North America', '24,709,000 sq. km.'),
    DataModel('South America', '17,840,000 sq. km.'),
    DataModel('Australia', '8,600,000 sq. km.'),

  _mapSource = MapShapeSource.asset(
    shapeDataField: "continent",
    dataCount: _data.length,
    primaryValueMapper: (int index) => _data[index].continent,

Widget build(BuildContext context) {
  return Scaffold(
    body: SfMaps(
      layers: <MapLayer>[
          source: _mapSource,
          tooltipSettings: MapTooltipSettings(
            hideDelay: double.infinity,
          shapeTooltipBuilder: (BuildContext context, int index) {
            if (index == 0) {
              return Icon(Icons.airplanemode_inactive);
            } else {
              return Icon(Icons.airplanemode_active);

class DataModel {
  const DataModel(this.continent, this.area);

  final String continent;
  final String area;


final double hideDelay;