首页 > 其他分享 >GraphicsLayer 可以在一个图层上绘制多个的多边形

GraphicsLayer 可以在一个图层上绘制多个的多边形

时间:2023-04-18 16:35:26浏览次数:67  
标签:Graphic 多边形 GraphicsLayer 对象 图层 方法 图形

ArcGIS for JS 的 GraphicsLayer 可以在一个图层上绘制多个的多边形¹。你可以使用 Polygon 类来创建多边形的几何对象,然后使用 Graphic 类来将几何对象和符号对象组合成图形对象,最后使用 GraphicsLayer 的 add() 方法或者 addMany() 方法来将图形对象添加到图层上。

  • 创建一个 GraphicsLayer 对象,可以指定一些属性,如 id, title, visible 等。
  • 创建一个或者多个 Graphic 对象,每个 Graphic 对象包含一个几何对象(如 Point, Polyline, Polygon 等)和一个符号对象(如 SimpleMarkerSymbol, SimpleLineSymbol, SimpleFillSymbol 等)。
  • 使用 GraphicsLayer 的 add() 方法或者 addMany() 方法来将 Graphic 对象添加到 GraphicsLayer 对象中。
  • 使用 Map 的 add() 方法或者 addMany() 方法来将 GraphicsLayer 对象添加到 Map 对象中。
  • 使用 GraphicsLayer 的 remove() 方法或者 removeAll() 方法来移除 Graphic 对象。
  • 使用 Map 的 remove() 方法或者 removeAll() 方法来移除 GraphicsLayer 对象。

你可以参考以下的示例代码:

// 创建一个 GraphicsLayer
var graphicsLayer = new GraphicsLayer();

// 创建一个 Polygon 几何对象
var polygon = new Polygon({
  rings: [
    [-64.78, 32.3],
    [-66.07, 18.45],
    [-80.21, 25.78],
    [-64.78, 32.3]
  ]
});

// 创建一个 SimpleFillSymbol 符号对象
var fillSymbol = new SimpleFillSymbol({
  color: [227, 139, 79, 0.8],
  outline: {
    color: [255, 255, 255],
    width: 1
  }
});

// 创建一个 Graphic 图形对象
var graphic = new Graphic({
  geometry: polygon,
  symbol: fillSymbol
});

// 将 Graphic 添加到 GraphicsLayer
graphicsLayer.add(graphic);

// 将 GraphicsLayer 添加到地图
map.add(graphicsLayer);

GraphicsLayer 有以下一些方法1

  • add(graphic):将一个 Graphic 对象添加到图层中。
  • addMany(graphics):将一个 Graphic 对象数组添加到图层中。
  • clone():返回一个新的 GraphicsLayer 对象,包含和原图层相同的属性和图形。
  • createGraphicsController():创建一个 GraphicsController 对象,用于管理图层中的图形。
  • findGraphicsByAttribute(attributeName, attributeValue):根据属性名和属性值查找图层中的图形,返回一个 Graphic 对象数组。
  • get(graphicId):根据图形的 id 属性查找图层中的图形,返回一个 Graphic 对象。
  • removeAll():移除图层中的所有图形。
  • remove(graphic):移除图层中的一个指定的图形。

GraphicsLayer 方法的一些应用场景如下1

  • 使用 add() 方法或者 addMany() 方法来在地图上绘制一些自定义的图形,如点、线、面等,可以用于展示一些数据或者标注一些位置。
  • 使用 clone() 方法来复制一个图层,可以用于在不同的地图上显示相同的内容,或者在同一个地图上显示不同的样式。
  • 使用 createGraphicsController() 方法来创建一个图形控制器,可以用于对图层中的图形进行一些操作,如选择、移动、缩放、旋转等。
  • 使用 findGraphicsByAttribute() 方法或者 get() 方法来根据属性查找图层中的图形,可以用于实现一些搜索或者过滤的功能。
  • 使用 removeAll() 方法或者 remove() 方法或者 removeMany() 方法来移除图层中的图形,可以用于清空或者更新地图上的内容。


标签:Graphic,多边形,GraphicsLayer,对象,图层,方法,图形
From: https://blog.51cto.com/u_16077786/6203652

相关文章

  • canvas绘制多边形
    1、获取ctx,id为canvasId的canvas标签document.getElementById("canvasId")。getXO你text("2d");2、确定尺寸3、添加点击画布的监听ctx.addEventListener("click",(e)=>that.addLis(e),false);//单击添加多边形顶点addEventListener("dblclick",(e)=>that.......
  • 常用的多边形处理库记录
    GeoPands Shapely pyproj Fiona rasterio 目前就收集到上面五个,详情见Python处理时空数据常用库案例及练习-CSDN博客。下面为它们的中文文档说明:shapely:Shapely用户手册—Shapely1.8.0文档(osgeo.cn)fiona:Fiona—Fiona2.0dev文档(osgeo.cn)......
  • 72、神奇的叠加-图层工具
    一:图层缩略图  二:因为这里是背景层,有把锁的,所以这里是不能随便移动的 ......
  • 180122 特征值与特征向量的几何解释与python代码,附matplotlib绘制多边形
    HowtoPlotPolygonsinPythonShapely-ManualShapely-Test3Blue1Brown-线性代数的几何解释DownloadsShapely-WindowsShapely-MacorLinux红色基坐标(竖着看)1001绿色变换矩阵(竖着看)3102蓝色特征向量(竖着看)1−2√202√2黑色变换矩阵(左乘)特征向量(竖着......
  • 天地图多边形工具
     http://lbs.tianditu.gov.cn/api/js4.0/examples.html 1<!DOCTYPEhtml>2<html>3<head>4<metahttp-equiv="content-type"content="text/html;charset=utf-8"/>5<title>天地图-地图API-范例-工具集合<......
  • Mapboxgl draw 自定义标绘:圆、矩形、自由多边形、上传读取geojson
    还没做文字标绘,累了,以后有需要有机会再说自定义标绘方法Mapboxgl标绘相关库我当前使用的版本是:"@mapbox/mapbox-gl-draw":"^1.4.1","@mapbox/mapbox-gl-draw-static-mode":"^1.0.1","mapbox-gl-draw-circle":"^1.1.2",&quo......
  • ArcEngine|实现图层交换功能与使用Itool封装功能
    1图层功能1.1实现图层顺序交换功能(1)功能分析图层顺序交换场景和功能:首先鼠标在TOCControl范围中,并单击左键不放,对图层进行拖拽。如果拖拽后鼠标从选中图层标题处移动......
  • Vue+Openlayer使用Draw实现交互式绘制多边形并获取面积
    场景Vue+Openlayer使用Draw实现交互式绘制线段:Vue+Openlayer使用Draw实现交互式绘制线段_BADAO_LIUMANG_QIZHI的博客-在上面的基础上实现的交互式绘制线段,还可以实现绘制多......
  • Revit BIM模型在ArcGIS Pro中的数据组织及转换成SLPK后的图层结构解析
    ArcGISPro对Revit数据有自己的一套分层方式。在ArcGISPro中打开bim文件会发现都是按照相同的方式组织数据: 将rvt格式数据转换成SLPK格式后的数据结构(将slpk数据直接......
  • Openlayers中设置定时绘制和清理直线图层
    场景Openlayers中实现地图上添加一条红色直线:在上面实现绘制一条红色直线的基础上,怎样对该红线进行清除。在某些条件下进行绘制和清除直线,下面通过定时器来反复实现绘制和清......