ArcGIS for js SketchViewModel绘制点、线、面和圆(vue代码)

引入依赖(前提要加载地图):

import SketchViewModel from "@arcgis/core/widgets/Sketch/SketchViewModel.js";

import GraphicsLayer from "@arcgis/core/layers/GraphicsLayer.js";

创建SketchViewModel对象:

// 创建GraphicsLayer
let graphicsLayer = new GraphicsLayer();
ToolsConfig.map.add(graphicsLayer);


// 创建编辑工具
var sketchViewModel = new SketchViewModel({
    layer: graphicsLayer,
    view: ToolsConfig.view,
    activeFillSymbol:{
        type: "simple-fill",
        style: "solid",
        color: [255, 0, 0, 0.2],
        outline: {
            color: [255, 0, 0],
            width: 1
        }
    },
    snappingOptions: { 
        enabled: true, 
        featureSources: [{
            layer: graphicsLayer, enabled: true
        }]
    }
});

绘制图形方法:

// 绘制点 
//sketchViewModel.create("point", { "mode": "click" });
        
// 绘制点线
//sketchViewModel.create("polyline", { "mode": "click" });
        
// 绘制面 
sketchViewModel.create("polygon", { "mode": "click" });

// 绘制圆
//sketchViewModel.create("circle", { "mode": "click" });

操作方法:

// 编辑
//sketchViewModel.updateOnGraphicClick = true;

// 撤销
//sketchViewModel.undo();

// 恢复
//sketchViewModel.redo();
           
// 保存
//sketchViewModel.updateOnGraphicClick = false;
//sketchViewModel.cancel();

绑定事件:

绘制完执行函数:

//绘制图形绑定事件
sketchViewModel.on("create", onGraphicCreate);



//绘制完执行函数
function onGraphicCreate(event) {
    if (event.state === "complete") {
           console.log(event)
            graphicsLayer.add(event.graphic);
     }
 
}

编辑完执行函数:

//编辑图形绑定事件
sketchViewModel.on("update", onGraphicUpdate);


//编辑完执行函数
function onGraphicUpdate(event) {
      const graphic = event.graphics[0];
      if (event.state === "complete") {
            console.log(graphic);
      }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ArcGIS API for JS是一款面向Web开发者的地图API,它提供了丰富的API,帮助开发者构建自定义交互式地图应用程序。其中包括绘制线、面等功能。 绘制 使用ArcGIS API for JS绘制十分简单,在地图上击鼠标左键即可绘制一个。每个都具有独立的坐标和属性信息,可以随时编辑修改。另外,开发者还可以通过API设置的图标、大小、颜色等样式,使得在地图上更加醒目。 绘制线 绘制线ArcGIS API for JS的另一个常见功能,它可以通过鼠标在地图上击左键进行绘制。开发者可以通过API设置线的颜色、宽度、描述信息等属性,从而将其与其他地图要素区分开来。此外,ArcGIS API for JS还支持绘制多段线,使得地图上的路线更加真实。 绘制绘制面是ArcGIS API for JS最强大的功能之一,它可以让开发者创建自己的多边形、圆形、矩形等形状。开发者可以自定义面的颜色、透明度、边框、填充等属性,从而轻松创建专业级别的地图要素。此外,API还支持多个面的合并、分割和编辑,使得地图要素更加丰富、灵活。 总之,ArcGIS API for JS提供了丰富的绘图功能,不仅可以帮助开发者快速创建自定义地图应用程序,还可以让地图更加真实、互动。感谢你的提问。 ### 回答2: ArcGIS API for JS是一款广泛使用的地理信息系统软件开发工具,它提供了许多用于绘制地图元素的功能和工具。其中,绘制线和面是GIS应用程序中不可或缺的功能之一。 绘制线和面的方法都可以通过使用ArcGIS API for JS中提供的绘制工具实现。绘图工具可以通过调用API中提供的函数来启用并配置,然后就可以使用鼠标在地图中绘制所需图形。同时,API还提供了一系列函数用于处理网格、吸附、编辑和交互等操作,使绘制过程更加灵活、高效。 在ArcGIS API for JS绘制非常简单,首先需要创建一个图形对象,然后指定该的坐标和样式。接着,将该对象添加到地图中即可。绘制线和面的方法与绘制类似,但需要传入更多的参数来指定线和面的形状、样式和颜色等属性。 总之,ArcGIS API for JS提供了丰富的图形绘制功能,能够轻松地绘制出各种类型的线和面,以满足GIS应用开发者的需求。具体实现方法可以参考API文档中提供的详细指南和示例代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值