arcgis js api 4.x根据Graphic数组创建FeatureLayer。

2023-12-04 09:38

本文主要是介绍arcgis js api 4.x根据Graphic数组创建FeatureLayer。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        FeatureLayer在大部分情况下是使用已发布的地图服务的要素图层里的数据,如果想要展示特定的业务数据,比如数据库查询的数据点,首先想到的是GraphicsLayer,也可以使用FeatureLayer,给FeatureLayer设置数据源(Graphic数组)、字段信息、渲染器等信息。接下来分基本的四步(定义字段、创建Graphic数组、定义渲染器、创建FeatureLayer)记录这个过程。

1、定义字段

                var fields = [{name: "ObjectID",alias: "ObjectID",type: "oid"   //   每个要素必须的字段,字段值必须唯一,当做是整数类型。。。},{name: "title",alias: "title",type: "string"  //字符串类型},{name: "size",  //可以用来渲染符号大小alias: "size",type: "integer"  //整数类型}];     //除了上面的三种类型,还有 double、date。。。

2、创建Graphic数组

                var graphics=[];  var startx=118;var starty=38;var i=1;  // 用于ObjectID属性// 每隔 0.05经度  0.05纬度创建一个点for(var x=startx;x<120;x+=0.05){for(var y=starty;y<40;y+=0.05){  //一共创建1600个点graphics.push({geometry: new Point({x: x,y: y  //没指定坐标系,默认是WGS84坐标系}),attributes: {ObjectID:i,title: "title",size:parseInt(Math.random()*5000+5000), },});i++;}}

3、创建渲染器

               var renderer = {type: "simple", // 简单渲染器  new SimpleRenderer()symbol: {type: "point-3d", // 符号类型  new PointSymbol3D()symbolLayers: [{type: "object",  // “符号子类型”  new ObjectSymbol3DLayer()//几何体样式 sphere(球) cylinder(圆柱) cube(立方块) cone(圆锥) inverted-cone(倒圆锥) diamond(钻石) tetrahedron(四面体)resource: { primitive: "sphere" },material: { color: "blue" }}]},visualVariables: [{    //视觉变量type: "size",field: "size",valueUnit: "feet" // 指定渲染字段的单位,还有meter。。。}]};

4、创建FeatureLayer,创建地图,创建Scene,设置初始的地图视图位置。

                var featureLayer = new FeatureLayer({source: graphics,fields: fields,renderer: renderer});var map = new Map({basemap: "satellite",ground: "world-elevation",layers:[featureLayer]});var initCam = {position: {x: 119,y: 37,z: 332780,spatialReference: {wkid: 4326}},heading: 358.8,tilt:30};var view = new SceneView({map: map,container: "viewDiv",camera: initCam});

渲染效果图:

这篇关于arcgis js api 4.x根据Graphic数组创建FeatureLayer。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/452986

相关文章

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

在Node.js中使用.env文件管理环境变量的全过程

《在Node.js中使用.env文件管理环境变量的全过程》Node.js应用程序通常依赖于环境变量来管理敏感信息或配置设置,.env文件已经成为一种流行的本地管理这些变量的方法,本文将探讨.env文件... 目录引言为什么使php用 .env 文件 ?如何在 Node.js 中使用 .env 文件最佳实践引

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

使用Go调用第三方API的方法详解

《使用Go调用第三方API的方法详解》在现代应用开发中,调用第三方API是非常常见的场景,比如获取天气预报、翻译文本、发送短信等,Go作为一门高效并发的编程语言,拥有强大的标准库和丰富的第三方库,可以... 目录引言一、准备工作二、案例1:调用天气查询 API1. 注册并获取 API Key2. 代码实现3

Git打标签从本地创建到远端推送的详细流程

《Git打标签从本地创建到远端推送的详细流程》在软件开发中,Git标签(Tag)是为发布版本、标记里程碑量身定制的“快照锚点”,它能永久记录项目历史中的关键节点,然而,仅创建本地标签往往不够,如何将其... 目录一、标签的两种“形态”二、本地创建与查看1. 打附注标http://www.chinasem.cn