code: def mapplot(df, x, y, **kwargs):
      # Get data of x and y columns:
      if x not in df.columns:
          raise ValueError(
              "<x> parameter has to be a column name of the provided dataframe."
          )
      if y not in df.columns:
          raise ValueError(
              "<y> parameter has to be a column name of the provided dataframe."
          )
      latitude = df[y]
      longitude = df[x]
  
      # Check if NaN values are in x & y columns:
      if (pd.isnull(latitude).sum() > 0) or (
          pd.isnull(longitude).sum() > 0
      ):
          raise ValueError(
              "There are NaN values in the <x> or <y> column. The map plot API of Pandas Bokeh does not support this. Please drop the NaN rows for plotting."
          )
  
      # Check values of longitude and latitude:
      if not (
          check_type(latitude) == "numeric"
          and check_type(longitude) == "numeric"
      ):
          raise ValueError(
              "<x> and <y> have to be numeric columns of the DataFrame. Further they correspond to longitude, latitude in WGS84 projection."
          )
      if not (np.min(latitude) >= -90 and np.max(latitude) <= 90):
          raise ValueError(
              "All values of the y-column have to be restricted to (-90, 90). The <y> value corresponds to the latitude in WGS84 projection."
          )
      if not (np.min(longitude) >= -180 and np.max(longitude) <= 180):
          raise ValueError(
              "All values of the x-column have to be restricted to (-180, 180). The <x> value corresponds to the longitude in WGS84 projection."
          )
  
      # Convert longitude & latitude coordinates to Web Mercator projection:
      if "x" in df.columns or "y" in df.columns:
          raise ValueError(
              "The map plot API overrides the columns named 'x' and 'y' with the coordinates for plotting. Please rename your columns 'x' and 'y'."
          )
  
      RADIUS = 6378137.0
      df["y"] = (
          np.log(np.tan(np.pi / 4 + np.radians(latitude) / 2)) * RADIUS
      )
      df["x"] = np.radians(longitude) * RADIUS
  
      return geoplot(df, **kwargs)
  
imports: import datetime
  import numbers
  import warnings
  from copy import deepcopy
  from typing import Iterable, List, Optional, Union
  import numpy
  import pandas
  from bokeh.layouts import column
  from bokeh.models import ColorBar, ColumnDataSource, DatetimeTickFormatter, FuncTickFormatter, HoverTool, LinearColorMapper, RangeTool
  from bokeh.models.ranges import Range1d
  from bokeh.palettes import Inferno256, all_palettes
  from bokeh.plotting import figure
  from bokeh.transform import cumsum, dodge
  from pandas.core.base import PandasObject
  from pandas.errors import ParserError
  from .base import embedded_html, set_fontsizes_of_figure, show
  from .geoplot import geoplot
  from .utils import _extract_additional_columns
label_desc: Use image node_id 14 for calling a global function with example usage: mapplot(df, x, y) and returns: geoplot