初始化,每个map执行一次就行

        drawPolylineInit: function () {//画几何对象初始化//新建一个图形图层用于存放画图过程中的图形let layer = new this.apiInstance.GraphicsLayer({//空间参考,一般要跟地图的一样spatialReference: this.mapView.spatialReference,});//图层添加到地图//PS:GraphicsLayer也是图层之一,因此也支持通用的图层功能this.map.add(layer);//new SketchViewModel,此对象用于画图this.sketchPolyline = new this.apiInstance.SketchViewModel({//mapViewview: this.mapView,//一个图形图层
                layer: layer,//分别是点线面的样式,分别用于画点线面时,理论上只要设置要画的几何类型即可
                pointSymbol: {type: "simple-marker",  // autocasts as new SimpleMarkerSymbol()style: "square",color: "red",size: "16px",outline: {  // autocasts as new SimpleLineSymbol()color: [255, 255, 0],width: 3}},polylineSymbol: {type: "simple-line",  // autocasts as new SimpleMarkerSymbol()color: "#8A2BE2",width: "4",style: "dash"},polygonSymbol: {type: "simple-fill",  // autocasts as new SimpleMarkerSymbol()color: "rgba(138,43,226, 0.8)",style: "solid",outline: { // autocasts as new SimpleLineSymbol()color: "white",width: 1}}});//绑定create-complete事件,新增画图完成时会触发this.sketchPolyline.on("create-complete", function (event) {//画的几何对象类型,值同开始画的create方法的参数1let drawGeometryType = event.tool;//画的结果的几何对象//PS:画完后SketchViewModel创建的图形会消失,因此如果要在画完后还要显示在地图上,就要另外再编码画在地图上,SketchViewModel只会提供画的结果的几何对象let geometry = event.geometry;//样式//PS:其他高级样式配置请看样式的章节let style = {//线颜色color: "dodgerblue",//线宽width: 3,//线样式style: "solid"};let graphic = mapUtil.geometry.polylineToPolylineGraphic(this.apiInstance, geometry, style, this.mapView.spatialReference, null);//把图形添加到地图的图形集合//PS:图形要在地图上显示,可以添加到两种地方。一是mapView的graphics,这是地图的图形容器。第二是创建图形图层(GraphicsLayer),然后把图形加入到图层里this.mapView.graphics.add(graphic);}.bind(this));//绑定update-complete事件,编辑画图完成时会触发this.sketchPolyline.on("update-complete", function (event) {//画的结果的几何对象//PS:画完后SketchViewModel创建的图形会消失,因此如果要在画完后还要显示在地图上,就要另外再编码画在地图上,SketchViewModel只会提供画的结果的几何对象let geometry = event.geometry;//后续代码略。。。}.bind(this));},

开始画新的线

        drawPolyline: function () {//开始画线//参数1:画的几何类型,有值:point=点 | multipoint=多点 | polyline=线 | polygon=面 | rectangle=矩形 | circle=原型this.sketchPolyline.create("polyline");},

开始编辑线

        drawEditPolyline: function () {//编辑线//做一条测试的线,注意是图形而不是几何对象//PS:编辑时样式是用图形的,而不是SketchViewModel的let wkt = "LINESTRING(113.545949 22.24015749,113.56989 22.24916,113.55324 22.220588)";//PS:编辑时创建图形不用传style,编辑的样式会用SketchViewModel的let graphic = mapUtil.geometry.wktToPolylineGraphic(this.apiInstance, wkt, null, this.mapView.spatialReference, null);//开始编辑//PS:其他几何类型的编辑都一样,因此其他类型编辑省略this.sketchPolyline.update(graphic);},

转载于:https://www.cnblogs.com/cannel/p/11077991.html

arcgis jsapi接口入门系列(7):鼠标在地图画线相关推荐

  1. arcgis jsapi接口入门系列(6):样式

    2019独角兽企业重金招聘Python工程师标准>>> symbol: function () {//线样式//样式详情请看官方文档let style = {//线颜色,支持多种格式 ...

  2. golang 切片 接口_Go 经典入门系列 18:接口(一)

    点击上方蓝色"Go语言中文网"关注,每天一起学 Go 欢迎来到 Golang 系列教程[1]的第 18 个教程.接口共有两个教程,这是我们接口的第一个教程. 什么是接口? 在面向对 ...

  3. Reflex WMS入门系列十七:修改IPG的Grade

    Reflex WMS入门系列十七:修改IPG的Grade Reflex WMS系统里有2个与库存有关的概念,一个是HD,一个是IPG.HD可以简单的理解为托盘,IPG可以理解为放在托盘的物料的库存. ...

  4. 【小白渗透入门系列】P5 自动化渗透测试工具

    大家好! 我是小黄,很高兴又跟大家见面啦 ! 拒绝水文,从我做起 !!!! 未经允许,禁止转载 ,违者必究!!!! 本实验仅适用于学习和测试 ,严禁违法操作 ! ! ! 今天更新的是: P5 自动化渗 ...

  5. ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区...

    原文:ArcGIS for Desktop入门教程_第四章_入门案例分析 - ArcGIS知乎-新一代ArcGIS问答社区 1 入门案例分析 在第一章里,我们已经对ArcGIS系列软件的体系结构有了一 ...

  6. 【 I.MX6U-ALPHA 】嵌入式Linux Ubuntu系统入门系列(二)Ubuntu 系统入门

    目录 1.Ubuntu系统初体验 1.1.开启Ubuntu虚拟机 1.2.系统设置 1.3.中文输入法 1.4.Ubuntu终端操作 2.Shell操作 2.1 Shell基本操作 2.2.常用She ...

  7. ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区 1 Desktop简介 1.1 ArcGIS for Desktop ...

  8. [Eclipse]GEF入门系列(六、添加菜单和工具条)

    我发现一旦稍稍体会到GEF的妙处,就会很自然的被它吸引住.不仅是因为用它做出的图形界面好看,更重要的是,UI中最复杂和细微的问题,在GEF的设计中无不被周到的考虑并以适当的模式解决,当你了解了这些,完 ...

  9. Provisioning Services 7.8 入门系列教程之十四 UEFI支持和BOOTPTAB 编辑器

     续Provisioning Services 7.8 入门系列教程之十三 使用 Boot Device Management(BDM) UEFI,全称Unified Extensible Firmw ...

最新文章

  1. 中欧光伏“双反”案:何以平地起波澜?
  2. @Bean+@Component+@Configuration+@Autowired的配合使用与区别(转载+整理+完整实验)
  3. Visual Studio 2019 使用 Live Share
  4. 说下List接口下的那些类
  5. PHP7内核基础知识之变量类型
  6. 数字信号处理matlab版答案,数字信号处理matlab版答案
  7. 国内外优秀呼叫中心系统简介
  8. Usability: Rules and Principle
  9. OJ上runtime error报错原因
  10. 获取Android 手机设备信息:包括机型、操作系统版本号、手机分辨率、运营商、当前联网方式、IMEI、MEID、MAC地址
  11. 安卓预装软件卸载教程
  12. 部分GDAL工具功能简介
  13. 优化屏蔽广告.提高浏览体验
  14. pandas常用命令
  15. python3 关键字,内建函数
  16. 多元统计分析及R语言建模
  17. 任务调度 的常用的基本方式
  18. 声源定位之GCC-PHAT算法
  19. 海外英语杂志海外英语杂志社海外英语编辑部2022年第8期目录
  20. 基于机器学习算法对电动汽车续驶里程进行估计

热门文章

  1. 【每周NLP论文推荐】 聊天机器人中FAQ相关的论文推荐
  2. 【MatConvnet速成】MatConvnet图像分类从模型自定义到测试
  3. 【学员分享】深度学习计算机视觉,两个星期从入门到上线
  4. 全球及中国太阳能光热发电市场重点项目规划及发展格局展望报告2021-2027年
  5. Application Desktop Toolbars 桌面工具栏
  6. PostgreSQL 数据库备份
  7. 通过html文件生成PDF文件
  8. androidclient和站点数据交互的实现(基于Http协议获取数据方法)
  9. 关闭window端口445
  10. Objective-C之成魔之路【13-预处理程序】