class_docstr: 3D map
code: def add_schema(
      self,
      maptype: str = "china",
      name: types.Optional[str] = None,
      *,
      box_width: types.Optional[types.Numeric] = 100,
      box_height: types.Optional[types.Numeric] = 10,
      box_depth: types.Optional[types.Numeric] = None,
      region_height: types.Optional[types.Numeric] = 3,
      environment: types.Optional[types.JSFunc] = None,
      is_show_ground: bool = False,
      ground_color: str = "#aaa",
      is_instancing: bool = False,
      map3d_label: types.Map3DLabel = None,
      itemstyle_opts: types.ItemStyle = None,
      emphasis_label_opts: types.Label = None,
      emphasis_itemstyle_opts: types.ItemStyle = None,
      shading: types.Optional[str] = None,
      realistic_material_opts: types.Optional[
          types.Map3DRealisticMaterial
      ] = None,
      lambert_material_opts: types.Optional[
          types.Map3DLambertMaterial
      ] = None,
      color_material_opts: types.Optional[
          types.Map3DColorMaterial
      ] = None,
      light_opts: types.Optional[types.Map3DLight] = None,
      post_effect_opts: types.Optional[types.Map3DPostEffect] = None,
      is_enable_super_sampling: types.Union[str, bool] = "auto",
      view_control_opts: types.Optional[types.Map3DViewControl] = None,
      zlevel: types.Optional[types.Numeric] = -10,
      pos_left: types.Union[types.Numeric, str] = "auto",
      pos_top: types.Union[types.Numeric, str] = "auto",
      pos_right: types.Union[types.Numeric, str] = "auto",
      pos_bottom: types.Union[types.Numeric, str] = "auto",
      pos_width: types.Union[types.Numeric, str] = "auto",
      pos_height: types.Union[types.Numeric, str] = "auto",
  ):
      self.js_dependencies.add(maptype)
      self.options.update(
          geo3D={
              "map": maptype,
              "name": name,
              "boxWidth": box_width,
              "boxHeight": box_height,
              "boxDepth": box_depth,
              "regionHeight": region_height,
              "environment": environment,
              "groundPlane": {
                  "show": is_show_ground,
                  "color": ground_color,
              },
              "instancing": is_instancing,
              "itemStyle": itemstyle_opts,
              "label": map3d_label,
              "emphasis": {
                  "label": emphasis_label_opts,
                  "itemStyle": emphasis_itemstyle_opts,
              },
              "shading": shading,
              "realisticMaterial": realistic_material_opts,
              "lambertMaterial": lambert_material_opts,
              "colorMaterial": color_material_opts,
              "light": light_opts,
              "postEffect": post_effect_opts,
              "temporalSuperSampling": {
                  "enable": is_enable_super_sampling
              },
              "viewControl": view_control_opts,
              "zlevel": zlevel,
              "left": pos_left,
              "top": pos_top,
              "right": pos_right,
              "bottom": pos_bottom,
              "width": pos_width,
              "height": pos_height,
          }
      )
      return self
  
file_path: pyecharts/pyecharts/charts/three_axis_charts/map3D.py
imports: from ...None import options
  from ...None import types
  from ...charts.chart import Chart3D
  from ...globals import ChartType
  from ...options import InitOpts, RenderOpts
label_desc: Use image node_id 3 for calling the Map3D obj's underlying member method code with example usage: obj.add_schema(maptype, name) and returns: self