ArcGIS 4.x 绘图

1、 绘制点

复制代码
require([
  "esri/Graphic",
  "esri/geometry/Point",
  "esri/symbols/SimpleMarkerSymbol",
  "esri/Map",
  "esri/views/MapView"
], function(Graphic, Point, SimpleMarkerSymbol, Map, MapView) {

  var map = new Map({
    basemap: "streets-navigation-vector"
  });

  var view = new MapView({
    container: "viewDiv",
    map: map,
    center: [-118.80500, 34.02700], // 经度, 纬度
    zoom: 13
  });

  var point = new Point({
    longitude: -118.80500,
    latitude: 34.02700
  });

  var pointSymbol = new SimpleMarkerSymbol({
    color: "red",
    size: 8,
    outline: {
      color: "white",
      width: 2
    }
  });

  var pointGraphic = new Graphic({
    geometry: point,
    symbol: pointSymbol
  });

  view.graphics.add(pointGraphic);
});

2、绘制线条

复制代码
require([
  "esri/Graphic",
  "esri/geometry/Polyline",
  "esri/symbols/SimpleLineSymbol",
  "esri/Map",
  "esri/views/MapView"
], function(Graphic, Polyline, SimpleLineSymbol, Map, MapView) {

  var map = new Map({
    basemap: "streets-navigation-vector"
  });

  var view = new MapView({
    container: "viewDiv",
    map: map,
    center: [-118.80500, 34.02700],
    zoom: 13
  });

  var polyline = new Polyline({
    paths: [
      [-118.80500, 34.02700],
      [-118.80900, 34.02900],
      [-118.81500, 34.02500]
    ]
  });

  var lineSymbol = new SimpleLineSymbol({
    color: "blue",
    width: 3
  });

  var polylineGraphic = new Graphic({
    geometry: polyline,
    symbol: lineSymbol
  });

  view.graphics.add(polylineGraphic);
});

3、绘制面

复制代码
require([
  "esri/Graphic",
  "esri/geometry/Polygon",
  "esri/symbols/SimpleFillSymbol",
  "esri/Map",
  "esri/views/MapView"
], function(Graphic, Polygon, SimpleFillSymbol, Map, MapView) {

  var map = new Map({
    basemap: "streets-navigation-vector"
  });

  var view = new MapView({
    container: "viewDiv",
    map: map,
    center: [-118.80500, 34.02700],
    zoom: 13
  });

  var polygon = new Polygon({
    rings: [
      [-118.80500, 34.02700],
      [-118.80900, 34.02900],
      [-118.81500, 34.02500],
      [-118.80500, 34.02700]
    ]
  });

  var fillSymbol = new SimpleFillSymbol({
    color: [51, 51, 204, 0.5], // 半透明蓝色
    outline: {
      color: "white",
      width: 2
    }
  });

  var polygonGraphic = new Graphic({
    geometry: polygon,
    symbol: fillSymbol
  });

  view.graphics.add(polygonGraphic);
});

4、添加阴影效果

复制代码
var shadowSymbol = new SimpleMarkerSymbol({
  color: [50, 50, 50, 0.5], // 半透明灰色
  size: 12,
  outline: null // 去除边框
});

var shadowGraphic = new Graphic({
  geometry: point,
  symbol: shadowSymbol
});

view.graphics.add(shadowGraphic);

5、 样式设置:颜色、线宽、填充样式

设置点样式:

复制代码
var pointSymbol = new SimpleMarkerSymbol({
  color: [255, 0, 0], // 红色
  size: 10,
  outline: {
    color: [255, 255, 255], // 白色边框
    width: 2
  }
});

设置线条样式:

复制代码
var lineSymbol = new SimpleLineSymbol({
  color: [0, 0, 255], // 蓝色
  width: 3
});

设置面样式:

复制代码
var fillSymbol = new SimpleFillSymbol({
  color: [0, 255, 0, 0.3], // 半透明绿色
  outline: {
    color: [255, 255, 255], // 白色边框
    width: 2
  }
});

6、透明度和模拟阴影效果

复制代码
透明度设置:通过设置 color 数组的最后一个值来调整透明度,例如 [255, 0, 0, 0.5] 表示半透明的红色。

模拟阴影效果:通过增加额外的图形(例如增加一个较大的半透明灰色圆形)来模拟阴影。
相关推荐
我是哈哈hh12 小时前
【Python数据分析】数据可视化(全)
开发语言·python·信息可视化·数据挖掘·数据分析
拾贰_C12 小时前
【python| pytorch】卸载py库,手动法
开发语言·pytorch·python
!停12 小时前
数据在内存中的存储(2)
开发语言·c++·算法
龙山云仓12 小时前
No098:黄道婆&AI:智能的工艺革新与技术传承
大数据·开发语言·人工智能·python·机器学习
是喵斯特ya12 小时前
python开发web暴力破解工具(基础篇)
开发语言·python·web安全
智航GIS12 小时前
ArcGIS大师之路500技---039趋势面法
算法·arcgis
智航GIS12 小时前
ArcGIS大师之路500技---038反距离权重法
算法·arcgis
Legendary_00812 小时前
Type-C一拖三快充线的核心优势与LDR6020方案深度解析
c语言·开发语言·电脑
MarkHD12 小时前
智能体在车联网中的应用:第12天 CARLA实战:编写Python客户端生成与控制车辆,迈向联合仿真
开发语言·python
青出于兰12 小时前
C语言| 指针变量的自增运算
c语言·开发语言