许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  esri-loader + ArcGIS API实现图层控制与筛选功能

esri-loader + ArcGIS API实现图层控制与筛选功能

阅读数 16
点赞 0
article_banner


功能ID
筛选#option-choose
清除筛选#option-clean
显示隐藏控制#option-visible

筛选 函数 中的layerDefinitoin 控制 筛选条件

js部分

// 我们需要在该组件装载之后做的事情都放在该方法里
  mounted() {
    esriLoader.setDefaultOptions({ version: '3.28' })
    this.createMap()
  },
  // 我们需要执行的方法都定义在该属性里
  methods: {
    createMap: function() {
      esriLoader.loadModules(['esri/map',
        'esri/geometry/Extent',
        'esri/layers/ArcGISDynamicMapServiceLayer',
        'dojo/query',
        'esri/toolbars/navigation',
        'esri/geometry/Point',
        'dojo/domReady!'], { css: true })
        .then(([Map, Extent, ArcGISDynamicMapServiceLayer, query, Navigation, Point]) => {
          var tjUAVurl = 'http://localhost:6080/arcgis/rest/services/Eco/BJ_td_gd_nyd/MapServer'

          var map = new Map('map', {
            extent: new Extent({
              xmin: 114.4134760856628,
              ymin: 40.13100080490112,
              xmax: 118.36547288894677,
              ymax: 41.64383821487438,
              spatialReference: {
                wkid: 4326
              }
            }),
            logo: false
          })

          var tjUAVLayer = new ArcGISDynamicMapServiceLayer(tjUAVurl)
          var tjUAVLayerLD = new ArcGISDynamicMapServiceLayer(tjUAVurl)// 筛选
          map.addLayer(tjUAVLayer)
          // *************************************************************************************** //

          var that = this
          
          // 筛选
          function btnLayerDefinitions() {
            map.removeLayer(tjUAVLayer)
            var layerDefinitoin = []
            layerDefinitoin[0] = 'payMon_suz > 20'
            tjUAVLayerLD.setLayerDefinitions(layerDefinitoin)
            map.addLayer(tjUAVLayerLD)
            that.opensuccess()
          }
          // 清除筛选
          function optinClean() {
            map.removeLayer(tjUAVLayerLD)
            map.addLayer(tjUAVLayer)
            that.opensuccess()
          }

          function btnVisible() {
            if (that.options_power[2].label === '隐藏') {
              // 打开所有显示
              var visible = []
              for (var i = 0; i < tjUAVLayer.layerInfos.length; i++) {
                visible.push(i)
              }
              tjUAVLayer.setVisibleLayers(visible)
              that.options_power[2].label = '显示'
            } else {
              // 关闭所有显示
              visible = [-1]
              tjUAVLayer.setVisibleLayers(visible)
              that.options_power[2].label = '隐藏'
            }
            that.opensuccess()
          }
          // *************************************************************************************** //

          query('#option-choose').on('click', btnLayerDefinitions)
          query('#option-clean').on('click', optinClean)
          query('#option-visible').on('click', btnVisible)
        })
    }
  }

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空