def METHOD_NAME(m=None, **kwargs):
    """Display a map and block execution until user selects a region of interest.
    Returns selected region as datacube Geometry class.
        polygon = select_on_map()
    **kwargs**
      map    -- Instead of creating new map use existing Ipyleaflet map
      height -- height of the map, for example "500px", "10el"
    Any parameter ipyleaflet.Map(..) accepts:
      zoom   Int
      center (lat: Float, lon: Float)
      ...
    """
    from IPython.display import display
    from ._ui import ui_poll
    m_2, state = mk_map_region_selector(m=m, **kwargs)
    if m is None:
        display(m_2)
    def extract_geometry(state):
        from datacube.testutils.geom import epsg4326
        from datacube.utils.geometry import Geometry
        return Geometry(state.selection, epsg4326)
    return ui_poll(lambda: extract_geometry(state) if state.done else None)