超圖iServer圖層過濾渲染服務

使用iServer做爲服務端,對已發出的超圖rest服務如何作過濾展現,使用的是Vue

一、須要引入的依賴this

  import {LayerStatus} from "@supermap/iclient-common/iServer/LayerStatus"
  import {SetLayerStatusService} from '@supermap/iclient-common/iServer/SetLayerStatusService'
  import {SetLayerStatusParameters} from '@supermap/iclient-common/iServer/SetLayerStatusParameters'

二、過濾方法url

    /**
       * 圖層過濾
       * @param _serviceUrl  超圖REST服務地址
       * @param _layerName   要過濾的圖層名字,通常叫  xxxx@xxxxx
       * @param _displayFilter  過濾條件  字符串類型 通常是好比'id>100 and (area >1000 or area <500)'
       */
      filterLayerContent(_serviceUrl, _layerName, _displayFilter) {
        let layerStatus = new LayerStatus({
          layerName: _layerName,
          displayFilter: _displayFilter
        })
        let setLayerStatusParameters = new SetLayerStatusParameters({
          layerStatusList: [layerStatus]
        })
        let setLayerStatusService = new SetLayerStatusService(_serviceUrl, {
          eventListeners: {
            "processCompleted": this.setLayerCompleted,
            "processFailed": this.setLayerFailed
          }
        })
        setLayerStatusService.processAsync(setLayerStatusParameters)
      },
setLayerCompleted(_res) {
let newSource = new TileSuperMapRest({ url: this.templateBingdingInfo.service.url, wrapX: true, layersID: _res.result.newResourceID, tileGrid: createXYZ({extent: [-180, -90, 180, 90]}) }) ...... },
相關文章
相關標籤/搜索