# MapGIS Client for JavaScript API

Cesium MapboxGL Leaflet OpenLayers
API文档

    class M3DCacheLayerUtil {}

    M3DCacheLayerUtil.addM3DLayer = function (layer, mapView, callback) {
      layer.layerIndex = mapView.scene.layers.appendM3DLayer(
        layer.url,
        {
          // 是否显示3d tileset模型
          show: layer.visible,
          // 是否自动定位
          autoReset: layer.autoReset,
          // 跳转时间，以秒为单位
          duration: layer.duration,
          // 最大屏幕空间误差
          maximumScreenSpaceError: layer.maximumScreenSpaceError,
          // 是否显示外包盒
          debugShowBoundingVolume: layer.debugShowBoundingVolume,
          // MapGISM3DSet的每帧回调函数
          callback: layer.callback,
          // gltf解析完成回调，提供修改gltf对象能力，MapGISM3DSet中包含多个gltf,对所有的gltf应用同一个回调可能不合适
          gltfParsedCallback: layer.gltfParsedCallback,
          // 是否需要填充M3D数据剖面，在MapGISM3DSet构造函数中给的原因是，要想支持剖面选取高亮必须统计primitive的oid列表,为了节省内存,原始数据在加载完成后就会释放，后续没有时机统计oid列表
          fillClip: layer.fillClip,
          // 是否会存在剖面几何，如果后续会addSectionGeometry方法给m3d图层设置剖切面设置为true
          hasSectionGeometry: layer.hasSectionGeometry,
          // 模型纹理拉伸比例，默认不发生变化
          textureCoordScale: layer.textureCoordScale,
          // 回调函数，加载完后返回加载的m3d图层
          loaded(tileSet) {
            tileSet.id = layer.id
            callback(tileSet)
          }
        })
    }

    /**
     * 移除图层
     * @param {Layer} layer 基本图层对象
     * @param {Viewer} sceneView Cesium的视图对象
     * */
    M3DCacheLayerUtil.removeLayer = function (layer, sceneView) {
      sceneView.scene.layers.removeM3DLayerByID(layer.layerIndex)
    }

    export default M3DCacheLayerUtil

构造函数
成员变量
方法
事件