# MapGIS Client for JavaScript API

Cesium MapboxGL Leaflet OpenLayers
API文档

    import { FeatureSet } from '@mapgis/webclient-common'
    import FeatureRenderView from './support/FeatureRenderView'

    class GeoJSONLayerView extends FeatureRenderView {
      _processData() {
        const layer = this.layer
        const featureSet = new FeatureSet({
          spatialReference: layer._spatialReference
        }).fromGeoJSON(layer._source)
        return Promise.resolve(featureSet)
      }

      /**
       * 更新图层视图
       * @param {LayerViewUpdateEvent} event 图层事件
       * @return {Promise<LayerView>} 图层视图
       */
      onUpdate(event) {
        let updateOtherArguments = false

        if (event.updateContent && this.innerLayer) {
          event.updateContent.forEach((layerUpdateContent) => {
            if (
              layerUpdateContent &&
              layerUpdateContent.operationType === 'property'
            ) {
              if (layerUpdateContent.name === 'renderer') {
                // 更新renderer需要移除原始的layer并重新构建新的layer
                super.onRemove(event)
                super.onAdd(event)
              } else {
                // 更新opacity、visible只需要执行一次父类的onUpdate方法
                updateOtherArguments = true
              }
            }
          })
        }

        // 使用父类中的onUpdate方法对非renderer更新统一执行更新操作
        if (updateOtherArguments) {
          super.onUpdate(event)
        }

        return Promise.resolve(this)
      }
    }
    export default GeoJSONLayerView

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