博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ArcGIS js api 手动构建FeatureLayer
阅读量:6952 次
发布时间:2019-06-27

本文共 3540 字,大约阅读时间需要 11 分钟。

坐标系

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
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的文章
栈桥-断桥
查看>>
JS编程建议——72:惰性载入函数
查看>>
[20160325]bbed是否有4G的限制.txt
查看>>
医疗保健行业未来发展的5大趋势预测
查看>>
cdn 导致跨域问题
查看>>
安防监控项目动辄几十亿,什么样的监控系统才能胜任?
查看>>
[20170203]克隆schema.txt
查看>>
JavaScript技巧&写法
查看>>
spring security oauth2
查看>>
将u盘的文件复制到虚拟机上的linux系统上面—》文件挂载(转)
查看>>
sendEmail invalid SSL_version at SSL.pm
查看>>
Call&nbsp;to&nbsp;undefined&nbsp;function&nbsp;mssql_connect()错误解决
查看>>
HDFS Archival Storage
查看>>
NodeJs——子进程
查看>>
使用Sklearn进行数据挖掘
查看>>
怎么估算空间利用率?新研发传感器分分钟搞定!
查看>>
搞大啦!精灵云与全球最大孵化器PNP带你一起飞
查看>>
第一章代码重构
查看>>
【益智题】十块钱去哪了?
查看>>
静态密码已经"OUT" 探索身份验证新方式
查看>>