class_docstr: Heatmap layer.
  
  Add this to a ``Map`` instance to draw a heatmap. A heatmap shows
  the density of points in or near a particular area.
  
  You should not instantiate this directly. Instead, use the
  :func:`gmaps.heatmap_layer` factory function.
  
  {locations}
  
  {options}
  
  :param data: DEPRECATED. Use `locations` instead.
      List of (latitude, longitude) pairs denoting a single
      point. Latitudes are expressed as a float between -90
      (corresponding to 90 degrees south) and +90 (corresponding to
      90 degrees north). Longitudes are expressed as a float
      between -180 (corresponding to 180 degrees west) and 180
      (corresponding to 180 degrees east).
  :type data: list of tuples
  
  :Examples:
  
  >>> fig = gmaps.figure()
  >>> locations = [(46.1, 5.2), (46.2, 5.3), (46.3, 5.4)]
  >>> heatmap = gmaps.heatmap_layer(locations)
  >>> heatmap.max_intensity = 2
  >>> heatmap.point_radius = 3
  >>> heatmap.gradient = ['white', 'gray']
  >>> fig.add_layer(heatmap_layer)
code: def _calc_bounds(self, change):
      data = change["new"]
      self.set_bounds(data)
  
imports: import ipywidgets
  from traitlets import Float, Bool, Unicode, HasTraits, default, List, observe
  from .None import bounds
  from .locations import locations_docstring
  from .None import geotraitlets
  from .maps import GMapsWidgetMixin
  from ._docutils import doc_subst
label_desc: Use image node_id 1 for calling the Heatmap obj's underlying member method code with example usage: obj._calc_bounds(change) without return types