code: def marker_layer(
      locations,
      hover_text="",
      label="",
      info_box_content=None,
      display_info_box=None,
  ):
      """
      Marker layer
  
      Add this layer to a :class:`gmaps.Figure` instance to draw
      markers corresponding to specific locations on the map.
      A marker will be drawn on the map for each point in the
      ``locations`` argument.
  
      :Examples:
  
      {marker_examples}
  
      To change the style of markers on an existing layer, mutate the
      marker directly.
  
      >>> marker_layer.markers[0].label = 'C'  # markers[0] is a Marker
  
      :param locations:
          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 locations: list of tuples
  
      :param hover_text:
          Text to be displayed when a user's mouse is hovering over
          a marker. This can be either a single string, in which case
          it will be applied to every marker, or a list of strings,
          in which case it must be of the same length as `locations`.
          If this is set to an empty string, nothing will appear when
          the user's mouse hovers over a marker.
      :type hover_text: string or list of strings, optional
  
      :param label:
          Text to be displayed inside the marker. Google maps
          only displays the first letter of whatever string is
          passed to the marker.
          This can be either a single string, in which case
          every marker will receive the same label, or a list of
          strings, in which case it must be of the same length
          as `locations`.
      :type label: string or list of strings, optional
  
      :param info_box_content:
          Content to be displayed when user clicks on a marker. This should
          either be a single string, in which case the same content will apply to
          every marker, or a list of strings of the same length of the
          `locations` list.
      :type info_box_content: string or list of strings, optional
  
      :param display_info_box:
          Whether to display an info box when the user clicks on a marker.
          This should either be a single boolean value, in which case it
          will be applied to every marker, or a list of boolean values of the
          same length as the `locations` list.
          The default value is True for any markers for which `info_box_content`
          is set, and False otherwise.
      :type display_info_box: boolean or list of booleans, optional
  
      :returns:
          A :class:`gmaps.Markers` instance.
      """
      marker_options = _marker_layer_options(
          locations,
          hover_text,
          label,
          info_box_content,
          display_info_box,
      )
      markers = [Marker(**option) for option in marker_options]
      return Markers(markers=markers)
  
imports: import ipywidgets
  from traitlets import Unicode, Int, List, observe, HasTraits, Bool
  import gmaps.geotraitlets
  import gmaps.bounds
  from .maps import DEFAULT_CENTER, GMapsWidgetMixin
  from .locations import locations_to_list
  from .options import merge_option_dicts, is_atomic, is_color_atomic
  from ._docutils import doc_subst
label_desc: Use image node_id 6 for calling a global function with example usage: marker_layer(locations, hover_text, label, info_box_content, display_info_box) and returns: Markers