当前位置: 首页 > news >正文

ArcGIS JSAPI 高级教程 - 自由绘制线段、多边形

ArcGIS JSAPI 高级教程 - 自由绘制线段、多边形

    • 完整代码
    • 在线示例

介绍一下标绘功能,主要是自由标绘,即鼠标拖动随意画线段或者多边形。

在这里插入图片描述

本文包括 完整代码以及在线示例


完整代码

主要利用 Sketch 实现,通过 freehandPolygon、freehandPolyline 开启自由绘制功能,标绘完成后添加高亮效果。


<!DOCTYPE html>
<html lang="en">
<head><meta charset="utf-8"/><meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no"/><title> freehandPolyline freehandPolygon | Sample | ArcGIS Maps SDK for JavaScript 4.33</title><link rel="stylesheet" href="https://openlayers.vip/arcgis_api/4.33/esri/themes/light/main.css"/><script src="https://openlayers.vip/arcgis_api/4.33/init.js"></script><script src="https://openlayers.vip/examples/resources/renderCommon.js"></script><style>html,body,#viewDiv {padding: 0;margin: 0;height: 100%;width: 100%;}</style><script>var _hmt = _hmt || [];(function () {var hm = document.createElement("script");hm.src = "https://hm.baidu.com/hm.js?f80a36f14f8a73bb0f82e0fdbcee3058";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm, s);})();</script><script>require(["esri/Map","esri/views/SceneView","esri/layers/GraphicsLayer","esri/widgets/Sketch","esri/layers/WebTileLayer",'esri/layers/support/TileInfo',"esri/widgets/Home",], (Map,SceneView,GraphicsLayer,Sketch,WebTileLayer,TileInfo,Home,) => {const graphicsLayer = new GraphicsLayer();// 初始化地图,这里使用天地图资源const {map, view} = initMap({Map, SceneView, Home, tianditu: true, WebTileLayer,TileInfo,ground: false}, undefined, {x: 116.20926165518152,y: 39.96813090329214,z: 3000,});map.add(graphicsLayer);// 用于高亮图形let graphicsLayerView;view.when(() => {view.whenLayerView(graphicsLayer).then((graphicsLayerView_) => {graphicsLayerView = graphicsLayerView_;})// 创建标绘工具const sketch = new Sketch({layer: graphicsLayer,view: view,// 激活自由标绘availableCreateTools: ['freehandPolyline','freehandPolygon'],visibleElements: {// 工具添加自由标绘createTools: {freehandPolygon: true,freehandPolyline: true},}});sketch.on("create", function (event) {// 监听事件if (event.state === "complete") {graphicsLayerView?.highlight(graphicsLayer.graphics);}});// 添加标绘工具到场景view.ui.add(sketch, "top-right");});});</script>
</head><body>
<div id="viewDiv"></div>
</body>
</html>

在这里插入图片描述


在线示例

ArcGIS Maps SDK for JavaScript 在线示例:自由绘制线段、多边形

http://www.dtcms.com/a/398809.html

相关文章:

  • 【2025最新】ArcGIS 点聚合功能实现全教程(进阶版)
  • Express使用教程(二)
  • 大模型部署基础设施搭建 - Docker
  • 芜湖建设机械网站企业管理系统软件下载
  • 永嘉县住房和城乡规划建设局网站自助贸易网
  • 华为云学习笔记(1):ECS 实例操作与密钥登录实践
  • 有一次django开发实录
  • RISC-V 中的 Wait For Interrupt 指令 (wfi) 详解
  • 前端核心框架vue之(指令案例篇1/5)
  • 企业静态网站源码增城建设局网站
  • 网站兼容9公司logo和商标一样吗
  • 题解:AT_abc206_e [ABC206E] Divide Both
  • 链改2.0总架构师何超秘书长重构“可信资产lPO与数链金融RWA”
  • 网站开发技术包括网站建设专业培训
  • 无人机航拍WiFi图传模块,16公里实时高清图传性能和技术参数
  • 视频元素在富文本编辑器中的光标问题
  • 企业网站内容如何搭建推荐做木工的视频网站
  • grounding dino 源码部署 cuda12.4 开放词汇目标检测(Open-Vocabulary Object Detection, OVOD)模型
  • 一个虚拟主机可以做几个网站吗毕设做网站心得体验
  • Spring使用SseEmitter实现后端流式传输和前端Vue数据接收
  • 湖南省新闻最新消息十条深圳seo网站推广方案
  • 语音交互接待服务机器人深度推荐
  • 创建学校网站吗网站搭建工具的种类
  • Linux-ARM-裸机开发-开发环境搭建
  • 2025年校园招聘平台怎么选?
  • 如何把视频放到自己的网站ftp怎么重新上传网站
  • minio文件迁移
  • 网站反链接是什么意思wordpress 侧边收起
  • docker-desktop 分发版不支持用户数据挂载
  • 部署LVS NAT集群