code: def geo(map_data, **kwargs):
      """Draw a map in the current context figure.
  
      Parameters
      ----------
      map_data: string or bqplot.map (default: WorldMap)
          Name of the map or json file required for the map data.
      options: dict (default: {})
          Options for the scales to be created. If a scale labeled 'x' is
          required for that mark, options['x'] contains optional keyword
          arguments for the constructor of the corresponding scale type.
      axes_options: dict (default: {})
          Options for the axes to be created. If an axis labeled 'x' is required
          for that mark, axes_options['x'] contains optional keyword arguments
          for the constructor of the corresponding axis type.
      """
      scales = kwargs.pop("scales", _context["scales"])
      options = kwargs.get("options", {})
      if "projection" not in scales:
          scales["projection"] = Mercator(
              **options.get("projection", {})
          )
      kwargs["scales"] = scales
      if isinstance(map_data, string_types):
          kwargs["map_data"] = topo_load(
              "map_data/" + map_data + ".json"
          )
      else:
          kwargs["map_data"] = map_data
      return _draw_mark(Map, **kwargs)
  
imports: import sys
  from collections import OrderedDict
  from IPython.display import display
  from ipywidgets import Image
  from numpy import arange, issubdtype, array, column_stack, shape
  from .figure import Figure
  from bqscales import Scale, LinearScale, Mercator
  from .axes import Axis
  from .marks import Lines, Scatter, Hist, Bars, OHLC, Pie, Map, Image, Label, HeatMap, GridHeatMap, topo_load, Boxplot, Bins
  from .interacts import BrushIntervalSelector, FastIntervalSelector, BrushSelector, IndexSelector, MultiSelector, LassoSelector
  from traitlets.utils.sentinel import Sentinel
  import functools
label_desc: Use image node_id 34 for calling a global function with example usage: geo(map_data) and returns: _draw_mark