坐标系

var spatialReference = new SpatialReference(4326);
1
要素坐标点

var pointArr = [
new Point(116.94431351934418, 36.642791191513744, spatialReference),
new Point(116.94313181636085,36.644263733181496, spatialReference),
new Point(116.94323946773243, 36.644333923319806, spatialReference),
new Point(116.94214699103674, 36.64316768441554, spatialReference),
new Point(116.94173145496477, 36.643359669286696, spatialReference),
new Point(116.94251530866333, 36.644235392555245, spatialReference),
];

构建features

var features = [];
for (var i = 0; i < pointArr.length; i++) {
var graphics = new Graphic(pointArr[i], pointSymbol, { "OBJECTID": i, "LON": pointArr[i].x, "LAT": pointArr[i].y });
features.push(graphics);
}

构建fields

var fields = [
{ name: "OBJECTID", type: "esriFieldTypeOID", alias: "OBJECTID" },
{ name: "LON", type: "esriFieldTypeDouble", alias: "LON" },
{ name: "LAT", type: "esriFieldTypeDouble", alias: "LAT" }
];

构建featuresSet

var featureSetJson = {
displayFieldName: "",
geometryType: "esriGeometryPoint",
fieldAliases: {
OBJECTID: "OBJECTID",
LON: "LON",
LAT: "LAT"
},
fields: fields,
spatialReference: spatialReference,
features: features
};
var featuresSet = new FeatureSet(featureSetJson);

构建featureCollection

var layerDefinition = {
"geometryType": "esriGeometryPoint",
"fields": fields
};

var featureCollection = {
layerDefinition: layerDefinition,
featureSet: featuresSet
};

构建FeatureLayer

var featureLayer = new FeatureLayer(featureCollection);
1
完整代码

require([
"esri/map",
"esri/SpatialReference",
"esri/layers/FeatureLayer",
"esri/geometry/Point",
"esri/tasks/FeatureSet",
"esri/graphic",
"dojo/domReady!"
],
function (Map, SpatialReference, FeatureLayer, Point, FeatureSet, Graphic) {
var map = new Map("viewDiv", {
basemap: "streets",
center: [116.943089, 36.643737],
zoom: 18
});
var spatialReference = new SpatialReference(4326);

var pointArr = [
new Point(116.94431351934418, 36.642791191513744, spatialReference),
new Point(116.94313181636085,36.644263733181496, spatialReference),
new Point(116.94323946773243, 36.644333923319806, spatialReference),
new Point(116.94214699103674, 36.64316768441554, spatialReference),
new Point(116.94173145496477, 36.643359669286696, spatialReference),
new Point(116.94251530866333, 36.644235392555245, spatialReference),
];

var features = [];
for (var i = 0; i < pointArr.length; i++) {
var graphics = new Graphic(pointArr[i], pointSymbol, { "OBJECTID": i, "LON": pointArr[i].x, "LAT": pointArr[i].y });
features.push(graphics);
}

var fields = [
{ name: "OBJECTID", type: "esriFieldTypeOID", alias: "OBJECTID" },
{ name: "LON", type: "esriFieldTypeDouble", alias: "LON" },
{ name: "LAT", type: "esriFieldTypeDouble", alias: "LAT" }
];

var featureSetJson = {
displayFieldName: "",
geometryType: "esriGeometryPoint",
fieldAliases: {
OBJECTID: "OBJECTID",
LON: "LON",
LAT: "LAT"
},
fields: fields,
spatialReference: spatialReference,
features: features
};
var featuresSet = new FeatureSet(featureSetJson);

var layerDefinition = {
"geometryType": "esriGeometryPoint",
"fields": fields
};

var featureCollection = {
layerDefinition: layerDefinition,
featureSet: featuresSet
};

var featureLayer = new FeatureLayer(featureCollection);
map.addLayer(featureLayer);
})

api参考
https://developers.arcgis.com/javascript/3/jsapi/featurelayer-amd.html#featurelayer2
https://developers.arcgis.com/javascript/3/jsapi/featureset-amd.html#featureset2
有疑问可加1936057493
---------------------
作者:cjchnvs
来源:CSDN
原文:https://blog.csdn.net/qq_22267353/article/details/81233263
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/telwanggs/p/10107957.html

ArcGIS js api 手动构建FeatureLayer相关推荐

  1. 基于ArcGIS JS API 4.11实现对FeatureLayer的多变量渲染

    文章目录 需求背景 需求分析 开发过程 效果图 注意事项 参考链接 在线示例 需求背景 有一个二维数组,里面包含几万个表示高度的值,现在要把这些高度值在地图上展示出来.可以通过小立方体的方式展现,长宽 ...

  2. ArcGIS JS API popup弹窗

    *使用ArcGIS JS API 4.19 一.要素服务popup 原始弹窗由popup微件控制,view对象都自带默认的popup,格式可以由Featurelayer的popupTemplate属性 ...

  3. 基于three.js 和ArcGIS JS API 建筑物立面动态特效渲染

    基于three.js 和ArcGIS JS API 建筑物立面波纹墙动态渲染 简介 基于ArcGIS JS API 和 three.js 波纹墙扩展类ripplewallRenderer 波纹墙扩展类 ...

  4. ArcGIS JS API 4.X实现动态地图服务子图层显隐控制

    ArcGIS JS API 4.X实现动态地图服务子图层显隐控制 文章目录 ArcGIS JS API 4.X实现动态地图服务子图层显隐控制 使用场景 官网示例 注意事项 使用场景 图层控制功能 官网 ...

  5. ArcGIS JS API加载GeoServer发布的WFS服务

    文章目录 前言 主要代码 总结 参考链接 前言 WFS(Web Feature Service),OGC标准下的要素服务.其支持的主要操作如下: GetCapabilities (discovery ...

  6. 使用ArcGIS JS API加载WMTS图层的两种方式

    文章目录 前言 方式一 方式二 前言 某些项目可能多方参与,每一方使用的GIS平台有时会有所不同,这时为了统一各方地图服务,通常会发布OGC标准的WMTS地图服务供各方使用.ArcGIS API fo ...

  7. 基于ArcGIS JS API实现垂直滑动缩放条

    文章目录 需求背景 需求分析 效果图 完整代码 注意事项 严格来说并不是基于ArcGIS JS API,应该是基于Dojo的dijit里面的VerticalSlider和VerticalRule,但是 ...

  8. 基于ArcGIS JS API封装dojo微件(以工具条为例)

    1.应用场景: 我们知道ArcGIS JS API自带了一些微件(或者说是控件),比如缩放按钮.定位按钮等等.但是有的时候这些微件的样式不太符合项目实际要求,或者是项目上想要把这些组合起来,这时候我们 ...

  9. 基于ArcGIS JS API实现的两种距离和面积测量方式

    文章目录 前言 开发思路 主要代码 效果测试 效果图 测试页面 开发总结 参考链接 前言 在一些地图地图应用中,距离.面积测量属于基础功能.ArcGIS API for JavaScript有单独提供 ...

最新文章

  1. 4.2 开发者选项--电源错误报告的适配
  2. 5G将改变技术格局的8个原因(上)
  3. DeviceIoControl的使用说明
  4. 设置select默认值
  5. Flex手机开发-退出应用程序
  6. Windows Mobile和Wince下使用TinyXML进行Native C++的开发
  7. 父页面与子ifream传值,父页面获取子页面document元素与方法
  8. js lottie 兼容 json、图片缓存问题、修改文字,图片
  9. SpringBoot Redis缓存 @Cacheable、@CacheEvict、@CachePut
  10. input最大长度限制问题
  11. 在CentOS7上使用FastDFS搭建文件服务器
  12. c语言三个人的象棋,强悍,300多行实现中国象棋人机对战
  13. kodi文件管理smb服务器,KODI win10,kodi不能发现smb共享
  14. Linux下php如何把word转为图片
  15. 动画练习-360度旋转-animation
  16. 首次参加齐鲁软件设计大赛经验(及总结出的划水要点)
  17. npm init 自动创建 package.json 文件
  18. 李慧芹数据结构代码(顺序表)
  19. 浪涌保护器,SPD浪涌保护器的分类和选型标准
  20. python - 单因子分析

热门文章

  1. sender分析之创建请求
  2. (46)VHDL实现4位桶性形移位器
  3. (18)FPGA面试题查找表的原理与结构
  4. STM32F103_EXTI外部中断
  5. STM32使用DMA接收串口数据
  6. 视频封面自动播放两秒钟html,使用videojs轻松搭建一个播放器
  7. 黑匣子解密要多久_“黑匣子”揭秘
  8. 栈和队列之栈的定义和实现
  9. linux内核网络栈代码的准备知识
  10. 回溯算法 思路清晰,通俗易懂!!!!!!!