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
    评论
### 回答1: ArcGIS API for JavaScript Vue是一种基于Vue.js框架的ArcGIS API for JavaScript的封装。它提供了一种简单的方式来使用ArcGIS API for JavaScript来创建交互式地图应用程序。Vue.js是一个流行的JavaScript框架,它提供了一种简单的方式来构建动态Web应用程序。ArcGIS API for JavaScript是一个强大的地图API,它提供了许多功能,包括地图显示、地理编码、地理处理、空间分析等。ArcGIS API for JavaScript Vue结合了这两个技术,使得开发人员可以更容易地创建高质量的地图应用程序。 ### 回答2: ArcGIS API for JavaScript Vue是通过Vue.js框架集成ArcGIS API for JavaScript库而创建的Web地图应用程序。ArcGIS API for JavaScript是Esri创建的专业地理信息系统(GIS)工具之一,它提供了一组开发工具和API,可用于构建基于Web的地图应用程序。这个JavaScript库提供了强大的GIS功能,例如图层控制、地理编码、地图分析和视觉化等。 Vue.js是一个流行的JavaScript框架,可用于开发单页面应用程序(SPA)。它通过其灵活性、组件架构和简单性而获得了许多Web开发人员的喜爱。通过将ArcGIS API for JavaScript与Vue.js集成,可以创建强大的Web地图应用程序,用户可以轻松地在任意设备上浏览。Vue.js的便利性使得用户可以更容易地构建交互式应用程序,同时ArcGIS API for JavaScript的GIS功能则增强了应用的功能性。 使用ArcGIS API for JavaScript Vue可以快速开发高质量的Web地图应用程序,同时不需要编写大量的代码。使用Vue.js的组件系统,您可以构建可重用的UI组件,并轻松地将它们嵌入到应用程序中。ArcGIS API for JavaScript提供了广泛的可定制选项,包括地图、图层、标注、符号和样式,以及可用于构建自定义GIS应用程序的分析和工具。 总之,ArcGIS API for JavaScript Vue提供了一个强大的工具箱,可用于轻松构建GIS应用程序。通过集成ArcGIS API for JavaScript库和Vue.js框架,用户可以快速构建交互式Web地图,并拥有全面的GIS功能。这个工具包使开发人员可以更快地构建出高质量的地图应用程序,同时为用户提供更好的地理定位和分析信息。 ### 回答3: ArcGIS API for JavaScript 是一款基于JavaScript开发的Web GIS 应用程序的应用程序界面,用于构建交互式的2D和3D地理信息系统应用。Vue是一种高效、轻量级的JavaScript框架,用于构建用户界面。ArcGIS API for JavaScript和Vue结合使用,可以构建出高效、美观、交互性强、且地理定位准确的Web应用。 使用ArcGIS API for JavaScript 与Vue结合开发Web应用,可以拥有强大的先进的地图显示功能,包括可以定制地图图层演示、控制地图层级、专业组件自定义开发和地理信息分析。同时,Vue具有非常简单和有效的模板语法,结合ArcGIS API for JavaScript通用的开发用途,使用Vue和API,你可以轻松快速地构建出美观并且易于使用的Web应用。 使用ArcGIS API for JavaScript与Vue结合开发Web应用还可以实现以下功能: 1. 数据可视化:可以将空间数据可视化,在地图上演示图层组成,从而增强WebGIS应用的交互性。 2. 地理定位功能:使用ArcGIS API 强大的地理定位技术,可以将地图与数据融合,从而实现地理定位功能。 3. 可自定义的组件:结合Vue框架,可以通过组件化开发,根据需要定制个性化的组件,从而提高WebGIS应用的易用性和效率。 4. 强大的分析能力:使用ArcGIS API强大的地理信息分析功能,可以在地图上展示复杂的地理信息数据。 总之,使用ArcGIS API for JavaScript 和Vue结合注意来构建交互性强、地理定位准确的WebGIS应用,进一步使用户体验更加优化,对地理信息的处理能力更加升级,展示效果也更加优异,具有很好的推广价值。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值