class_docstr: Create a Map with Folium and Leaflet.js
  
  Generate a base map of given width and height with either default
  tilesets or a custom tileset URL. Folium has built-in all tilesets
  available in the ``xyzservices`` package. For example, you can pass
  any of the following to the "tiles" keyword:
  
      - "OpenStreetMap"
      - "CartoDB Positron"
      - "CartoBD Voyager"
      - "NASAGIBS Blue Marble"
  
  You can pass a custom tileset to Folium by passing a
  :class:`xyzservices.TileProvider` or a Leaflet-style
  URL to the tiles parameter: ``http://{s}.yourtiles.com/{z}/{x}/{y}.png``.
  
  You can find a list of free tile providers here:
  ``http://leaflet-extras.github.io/leaflet-providers/preview/``.
  Be sure to check their terms and conditions and to provide attribution
  with the `attr` keyword.
  
  Parameters
  ----------
  location: tuple or list, default None
      Latitude and Longitude of Map (Northing, Easting).
  width: pixel int or percentage string (default: '100%')
      Width of the map.
  height: pixel int or percentage string (default: '100%')
      Height of the map.
  tiles: str or TileLayer or :class:`xyzservices.TileProvider`, default 'OpenStreetMap'
      Map tileset to use. Can choose from a list of built-in tiles,
      pass a :class:`xyzservices.TileProvider`,
      pass a custom URL, pass a TileLayer object,
      or pass `None` to create a map without tiles.
      For more advanced tile layer options, use the `TileLayer` class.
  min_zoom: int, default 0
      Minimum allowed zoom level for the tile layer that is created.
  max_zoom: int, default 18
      Maximum allowed zoom level for the tile layer that is created.
  zoom_start: int, default 10
      Initial zoom level for the map.
  attr: string, default None
      Map tile attribution; only required if passing custom tile URL.
  crs : str, default 'EPSG3857'
      Defines coordinate reference systems for projecting geographical points
      into pixel (screen) coordinates and back.
      You can use Leaflet's values :
      * EPSG3857 : The most common CRS for online maps, used by almost all
      free and commercial tile providers. Uses Spherical Mercator projection.
      Set in by default in Map's crs option.
      * EPSG4326 : A common CRS among GIS enthusiasts.
      Uses simple Equirectangular projection.
      * EPSG3395 : Rarely used by some commercial tile providers.
      Uses Elliptical Mercator projection.
      * Simple : A simple CRS that maps longitude and latitude into
      x and y directly. May be used for maps of flat surfaces
      (e.g. game maps). Note that the y axis should still be inverted
      (going from bottom to top).
  control_scale : bool, default False
      Whether to add a control scale on the map.
  prefer_canvas : bool, default False
      Forces Leaflet to use the Canvas back-end (if available) for
      vector layers instead of SVG. This can increase performance
      considerably in some cases (e.g. many thousands of circle
      markers on the map).
  no_touch : bool, default False
      Forces Leaflet to not use touch events even if it detects them.
  disable_3d : bool, default False
      Forces Leaflet to not use hardware-accelerated CSS 3D
      transforms for positioning (which may cause glitches in some
      rare environments) even if they're supported.
  zoom_control : bool, default True
      Display zoom controls on the map.
  **kwargs
      Additional keyword arguments are passed to Leaflets Map class:
      https://leafletjs.com/reference.html#map
  
  Returns
  -------
  Folium Map Object
  
  Examples
  --------
  >>> m = folium.Map(location=[45.523, -122.675], width=750, height=500)
  >>> m = folium.Map(location=[45.523, -122.675], tiles="cartodb positron")
  >>> m = folium.Map(
  ...     location=[45.523, -122.675],
  ...     zoom_start=2,
  ...     tiles="https://api.mapbox.com/v4/mapbox.streets/{z}/{x}/{y}.png?access_token=mytoken",
  ...     attr="Mapbox attribution",
  ... )
docstr: Display the Map in the default web browser.
docstr_tok: ["Display","the","Map","in","the","default","web","browser","."]
code: def show_in_browser(self) -> None:
      """Display the Map in the default web browser."""
      with temp_html_filepath(self.get_root().render()) as fname:
          webbrowser.open("file://" + fname)
          print(
              "Your map should have been opened in your browser automatically."
              "\nPress ctrl+c to return."
          )
          # Block until stopped by user, afterwards remove the temporary file
          try:
              while True:
                  time.sleep(100)
          except KeyboardInterrupt:
              pass
  
imports: import time
  import webbrowser
  from typing import Any, List, Optional, Sequence, Union
  from branca.element import Element, Figure, MacroElement
  from jinja2 import Template
  from folium.elements import JSCSSMixin
  from folium.map import FitBounds, Layer
  from folium.raster_layers import TileLayer
  from folium.utilities import TypeBounds, TypeJsonValue, _parse_size, parse_options, temp_html_filepath, validate_location
label_desc: Use image node_id 6 for calling the Map obj's underlying member method code with example usage: obj.show_in_browser() without return types