ArcGIS地图--Vue开发--外部按钮与地图控件交互

本文介绍如何在浏览器页面上实现左侧片区列表与右侧地图的联动。通过在地图上点击新增按钮,用户可以绘制新片区,并在完成绘制后在列表中展示新增卡片,包含片区名称、备注及坐标数组。点击确认创建,会刷新列表并显示更新后的信息。关键操作涉及地图事件监听、图形绘制及数据处理。
摘要由CSDN通过智能技术生成

任务一:浏览器页面--左边显示片区列表,右边显示地图

方法:准备三个<div>容器,第一个为总容器,覆盖整个页面;第二个和第三个为第一个容器的子容器,各自占据页面左右两边。

任务二:

1.点击列表的新增按钮后,可以在地图上绘制新片区;

2.片区绘制完毕时,左边片区列表处弹出新增卡片,卡片中可以填写新增的片区名和备注信息,同时显示不可编辑的片区坐标数组;

3.点击确认创建后,提示创建信息,如果创建成功,刷新片区列表,显示新增片区后的列表。

关键方法:在创建地图的方法中,设置“新增”按钮的监听事件,在监听事件中,调用地图绘图控件sketch;然后再为sketch设置监听事件,返回片区坐标数组。

          // 监听事件
          document.getElementById('addArea').addEventListener("click", ()=> {
            document.getElementById("viewDiv").focus();
            areaSketch.create("polygon", { mode: "click" });
            // 监听 sketch widget's create 事件.
            areaSketch.on("create", (event)=> {
              // check if the create event's state has changed to complete indicating
              // 当图形(graphic)创建完成(complete)时.
              if (event.state === "complete") {
                // 将画出来的多边形从绘图layer上移除
                // the completed graphic to the layer by default.
                graphicsLayer.remove(event.graphic);
                // 获取画出来的多边形的坐标数组
                this.rings = event.graphic.geometry.rings[0];
                // 新增表单的参数里 添加坐标数组
                this.form.rings = this.rings;
                console.log('graphic geometry', this.rings);
                // 该参数控制右边列表中的 新增片区卡片 是否弹出
                this.open = true;
              }
            });
          });

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值