class_docstr: Creates a LayerControl object to be added on a folium map.
  
  This object should be added to a Map object. Only Layer children
  of Map are included in the layer control.
  
  Note
  ----
  The LayerControl should be added last to the map.
  Otherwise, the LayerControl and/or the controlled layers may not appear.
  
  Parameters
  ----------
  position : str
        The position of the control (one of the map corners), can be
        'topleft', 'topright', 'bottomleft' or 'bottomright'
        default: 'topright'
  collapsed : bool, default True
        If true the control will be collapsed into an icon and expanded on
        mouse hover or touch.
  autoZIndex : bool, default True
        If true the control assigns zIndexes in increasing order to all of
        its layers so that the order is preserved when switching them on/off.
  draggable: bool, default False
        By default the layer control has a fixed position. Set this argument
        to True to allow dragging the control around.
  **kwargs
      Additional (possibly inherited) options. See
      https://leafletjs.com/reference.html#control-layers
class_docstr_tok: ["Creates","a","LayerControl","object","to","be","added","on","a","folium","map",".","This","object","should","be","added","to","a","Map","object",".","Only","Layer","children","of","Map","are","included","in","the","layer","control",".","Note","--","--","The","LayerControl","should","be","added","last","to","the","map",".","Otherwise",",","the","LayerControl","and\/or","the","controlled","layers","may","not","appear",".","Parameters","--","--","--","--","--","position",":","str","The","position","of","the","control","(","one","of","the","map","corners",")",",","can","be","'topleft","'",",","'topright","'",",","'bottomleft","'","or","'bottomright'","default",":","'topright'","collapsed",":","bool",",","default","True","If","true","the","control","will","be","collapsed","into","an","icon","and","expanded","on","mouse","hover","or","touch",".","autoZIndex",":","bool",",","default","True","If","true","the","control","assigns","zIndexes","in","increasing","order","to","all","of","its","layers","so","that","the","order","is","preserved","when","switching","them","on\/off",".","draggable",":","bool",",","default","False","By","default","the","layer","control","has","a","fixed","position",".","Set","this","argument","to","True","to","allow","dragging","the","control","around",".","*","*","kwargs","Additional","(","possibly","inherited",")","options",".","See","https",":","\/\/leafletjs.com\/reference.html","#","control-layers"]
code: def __init__(
      self,
      position: str = "topright",
      collapsed: bool = True,
      autoZIndex: bool = True,
      draggable: bool = False,
      **kwargs: TypeJsonValue,
  ):
      super().__init__()
      self._name = "LayerControl"
      self.options = parse_options(
          position=position,
          collapsed=collapsed,
          autoZIndex=autoZIndex,
          **kwargs,
      )
      self.draggable = draggable
      self.base_layers: OrderedDict[str, str] = OrderedDict()
      self.overlays: OrderedDict[str, str] = OrderedDict()
  
imports: import warnings
  from collections import OrderedDict
  from typing import Dict, List, Optional, Sequence, Tuple, Type, Union
  from branca.element import Element, Figure, Html, MacroElement
  from jinja2 import Template
  from folium.elements import ElementAddToElement
  from folium.utilities import TypeBounds, TypeJsonValue, camelize, escape_backticks, parse_options, validate_location
label_desc: Use image node_id 1 to create a new LayerControl object from inherited base classes: MacroElement with example: obj = LayerControl(position, collapsed, autoZIndex, draggable)