Vue + ArcGIS api 设置范围+坐标

修改中心坐标需要是地理坐标系

功能ID函数
控制修改中心坐标的Dialog的显示#setting-extent-xydialogSetXYVisible
实现修改中心坐标‘#XYDialogOK’btnSettingXY
控制修改范围的Dialog的显示#setting-extentdialogSetExtentVisible
实现修改范围‘#extentDialogOK’btnSettingExtent
变量含义
extent_zdy修改范围的值
xy_zdy修改XY的值
  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)
          map.addLayer(tjUAVLayer)
          
          var that = this
          
          function dialogSetXYVisible() {
            that.centerDialogVisible = true
          }

          function btnSettingXY() {
            if (map.extent.spatialReference.wkid === 4326) {
              console.log(map.extent.spatialReference.wkid)
              var point = new Point(that.xy_zdy.x, that.xy_zdy.y)
              map.centerAt(point)
              that.opensuccess()
            } else {
              that.openWarning()
            }
          }
          function dialogSetExtentVisible() {
            that.centerDialogVisible_extent = true
          }

          function btnSettingExtent() {
            map.setExtent(that.extent_zdy)
            that.opensuccess()
          }

          // *************************************************************************************** //
          
          query('#setting-extent-xy').on('click', dialogSetXYVisible)
          query('#XYDialogOK').on('click', btnSettingXY)
          query('#setting-extent').on('click', dialogSetExtentVisible)
          query('#extentDialogOK').on('click', btnSettingExtent)
        })
    },

    opensuccess() {
      this.$message({
        message: 'success',
        type: 'success'
      })
    },
    openWarning() {
      this.$message({
        message: '非地理坐标系',
        type: 'warning'
      })
    }

  }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值