class_docstr: Create two maps in the same window.
  
  Adding children to this objects adds them to both maps. You can access
  the individual maps with `DualMap.m1` and `DualMap.m2`.
  
  Uses the Leaflet plugin Sync: https://github.com/jieter/Leaflet.Sync
  
  Parameters
  ----------
  location: tuple or list, optional
      Latitude and longitude of center point of the maps.
  layout : {'horizontal', 'vertical'}
      Select how the two maps should be positioned. Either horizontal (left
      and right) or vertical (top and bottom).
  **kwargs
      Keyword arguments are passed to the two Map objects.
  
  Examples
  --------
  >>> # DualMap accepts the same arguments as Map:
  >>> m = DualMap(location=(0, 0), tiles="cartodbpositron", zoom_start=5)
  >>> # Add the same marker to both maps:
  >>> Marker((0, 0)).add_to(m)
  >>> # The individual maps are attributes called `m1` and `m2`:
  >>> Marker((0, 1)).add_to(m.m1)
  >>> LayerControl().add_to(m)
  >>> m.save("map.html")
class_docstr_tok: ["Create","two","maps","in","the","same","window",".","Adding","children","to","this","objects","adds","them","to","both","maps",".","You","can","access","the","individual","maps","with","`","DualMap.m1","`","and","`","DualMap.m2","`",".","Uses","the","Leaflet","plugin","Sync",":","https",":","\/\/github.com\/jieter\/Leaflet.Sync","Parameters","--","--","--","--","--","location",":","tuple","or","list",",","optional","Latitude","and","longitude","of","center","point","of","the","maps",".","layout",":","{","'horizontal","'",",","'vertical","'","}","Select","how","the","two","maps","should","be","positioned",".","Either","horizontal","(","left","and","right",")","or","vertical","(","top","and","bottom",")",".","*","*","kwargs","Keyword","arguments","are","passed","to","the","two","Map","objects",".","Examples","--","--","--","--",">",">",">","#","DualMap","accepts","the","same","arguments","as","Map",":",">",">",">","m","=","DualMap","(","location=","(","0",",","0",")",",","tiles=","''","cartodbpositron","''",",","zoom_start=5",")",">",">",">","#","Add","the","same","marker","to","both","maps",":",">",">",">","Marker","(","(","0",",","0",")",")",".add_to","(","m",")",">",">",">","#","The","individual","maps","are","attributes","called","`","m1","`","and","`","m2","`",":",">",">",">","Marker","(","(","0",",","1",")",")",".add_to","(","m.m1",")",">",">",">","LayerControl","(",")",".add_to","(","m",")",">",">",">","m.save","(","``","map.html","''",")"]
docstr: Add object `child` to the first map and store it for the second.
docstr_tok: ["Add","object","`","child","`","to","the","first","map","and","store","it","for","the","second","."]
code: def add_child(self, child, name=None, index=None):
      """Add object `child` to the first map and store it for the second."""
      self.m1.add_child(child, name, index)
      if index is None:
          index = len(self.m2._children)
      self.children_for_m2.append((child, name, index))
  
file_path: folium/folium/plugins/dual_map.py
imports: from branca.element import Figure, MacroElement
  from jinja2 import Template
  from folium.elements import JSCSSMixin
  from folium.folium import Map
  from folium.map import LayerControl
  from folium.utilities import deep_copy
label_desc: Use image node_id 3 for calling the DualMap obj's underlying member method code with example usage: obj.add_child(child, name, index) without return types