VueCLI使用ArcGIS API for JavaScript(六)

Arcgis地图绘画并且查询


既然是地图操作,那么绘画是不可少的,今天写了这个功能,分享一下
直接上代码

esri.loadModules([
  "esri/toolbars/draw",
  "dojo/domReady!"
]).then(([
  Draw,
]) => {
   //开启绘制
   this.drawToolBar = new Draw(this.map);
   //选择需要画的类型
   this.drawToolBar.activate(this.drawType.toLowerCase());
   //类型选择结束调用绘画结束方法
   this.drawEnd()

})

绘画类型需要注意,必须要小写的

this.drawToolBar.activate('POINT'.toLowerCase());

下图是类型截图
在这里插入图片描述
调用绘画方法

esri.loadModules([
  "esri/symbols/SimpleMarkerSymbol",
  "esri/symbols/SimpleLineSymbol",
  "esri/symbols/SimpleFillSymbol",
  "esri/graphic",
  "esri/Color",
  "dojo/on",
  "dojo/domReady!"
]).then(([
  SimpleMarkerSymbol,
  SimpleLineSymbol,
  SimpleFillSymbol,
  Graphic,
  Color,
  on
]) => {
  //绘制结束
  this.drawToolBar.on("draw-end", (evt) => {

    let symbol;
    if ( evt.geometry.type === "point" || evt.geometry.type === "multipoint") {
        symbol = new SimpleMarkerSymbol();
    } else if ( evt.geometry.type === "line" || evt.geometry.type === "polyline") {
        symbol = new SimpleLineSymbol(
          SimpleLineSymbol.STYLE_SOLID,
          new Color([255, 0, 0, 1]), 2);
    }else {
        symbol = new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID,
          new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID,
          new Color([255, 0, 0, 1]), 1),
          new Color([125, 125, 125, 0.8]));
    }
    let graph = new Graphic(evt.geometry,symbol)
    this.map.graphics.add(graph);
    
    this.drawQuery(graph)
  })
})

绘制完成后,进行查询

 drawQuery(graph) {
   esri.loadModules([
     "esri/tasks/QueryTask",
     "esri/tasks/query",
     'dojo/domReady!'
   ]).then(([
     QueryTask,
     Query,
   ]) => {
     let query = new Query();

     let queryTask = new QueryTask(`${mapUrl.url6}/0`);

     query.returnGeometry = true; //需要返回Geometry
     query.outFields = ["*"]; //需要返回的字段
     query.geometry = graph.geometry;

     queryTask.execute(query, res => {
       this.drawDataAry = res.features;
     })
   })
 }

补充一点:查询数据默认获取的数据是1000条,如果大于1000,需要进行修改
进入http://localhost:6080/arcgis/manager管理发布的地图服务
进入对应图层,然后点击参数进行修改
在这里插入图片描述

参考链接: https://blog.csdn.net/weixin_40184249/article/details/80806895.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值