code: def maptiles_zxy(
      url: str,
      attribution: str = None,
      min_zoom: int = None,
      max_zoom: int = None,
      subdomains: str = None,
      **other_args,
  ) -> dict:
      """
      Make raster tiles config. Can be used individually in `geom_livemap()`
      or in every livemap via `LetsPlot.set()`.
  
      Parameters
      ----------
      url : str
          Template for a standard raster ZXY tile provider with {z}, {x}, {y} and {s} placeholders,
          e.g. ``"https://{s}.tile.com/{z}/{x}/{y}.png"``. Where {z} means zoom, {x} and {y} means
          tile coordinate, {s} means subdomains.
      attribution : str
          An attribution or a copyright notice to display on the map as required by the tile license.
          Supports HTML links: ``'<a href="http://www.example.com">Example</a>'``.
      min_zoom : int
          Minimal zoom limit, an integer from 1 to 15. Should be less than or equal to `max_zoom`.
      max_zoom : int
          Maximal zoom limit, an integer from 1 to 15. Should be greater than or equal to `min_zoom`.
      subdomains : str
          Each character of this list is interpreted as standalone tile servers, so an interactive map
          can request tiles from any of these servers independently for better load balance. If url
          contains {s} placeholder and subdomains parameter is not set default string 'abc' will be used.
      other_args
          Any key-value pairs that can be substituted into the URL template, e.g.
          ``maptiles_zxy(url='http://maps.example.com/{z}/{x}/{y}.png?access_key={key}', key='MY_ACCESS_KEY')``.
  
      Returns
      -------
      dict
          Tile provider settings.
  
      Examples
      --------
      .. jupyter-execute::
          :linenos:
          :emphasize-lines: 3-7
  
          from lets_plot import *
          LetsPlot.setup_html()
          tiles = maptiles_zxy(
              url="https://gibs.earthdata.nasa.gov/wmts/epsg3857/best/VIIRS_CityLights_2012/default/GoogleMapsCompatible_Level8/{z}/{y}/{x}.jpg",
              attribution='<a href="https://earthdata.nasa.gov/eosdis/science-system-description/eosdis-components/gibs">© NASA Global Imagery Browse Services (GIBS)</a>',
              max_zoom=8
          )
          ggplot() + geom_livemap(tiles=tiles)
  
      """
      assert isinstance(
          url, str
      ), "'url' argument is not str: {}".format(type(url))
      assert isinstance(
          attribution, (str, type(None))
      ), "'attribution' argument is not str: {}".format(type(url))
      if subdomains is not None and "{s}" not in url:
          raise ValueError(
              "Subdomains are set but {s} placeholder is not found in url: "
              + subdomains
          )
  
      for k, v in other_args.items():
          assert k not in [
              "x",
              "y",
              "z",
              "s",
          ], "other_args can't contain keys x, y, z and s"
          url = url.replace("{" + k + "}", v)
  
      if subdomains is not None and "{s}" in url:
          url = url.replace("{s}", "[" + subdomains + "]")
      elif subdomains is None and "{s}" in url:
          url = url.replace("{s}", "[abc]")
  
      return {
          MAPTILES_KIND: TILES_RASTER_ZXY,
          MAPTILES_URL: url,
          MAPTILES_ATTRIBUTION: attribution,
          MAPTILES_MIN_ZOOM: min_zoom,
          MAPTILES_MAX_ZOOM: max_zoom,
      }
  
file_path: lets-plot/python-package/lets_plot/settings_utils.py
imports: from ._global_settings import GEOCODING_PROVIDER_URL, MAPTILES_SOLID_FILL_COLOR, TILES_CHESSBOARD, _DATALORE_TILES_SERVICE
  from ._global_settings import MAPTILES_KIND, MAPTILES_URL, MAPTILES_THEME, MAPTILES_ATTRIBUTION, MAPTILES_MIN_ZOOM, MAPTILES_MAX_ZOOM, TILES_VECTOR_LETS_PLOT, TILES_RASTER_ZXY, TILES_SOLID, _DATALORE_TILES_ATTRIBUTION
  from ._global_settings import has_global_value, get_global_val, _DATALORE_TILES_MIN_ZOOM, _DATALORE_TILES_MAX_ZOOM
label_desc: Use image node_id 2 for calling a global function with example usage: maptiles_zxy(url, attribution, min_zoom, max_zoom, subdomains) and returns: dict