admin管理员组文章数量:1650809
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
});
渲染效果图:
本文标签: 数组APIjsArcGISFeatureLayer
版权声明:本文标题:arcgis js api 4.x根据Graphic数组创建FeatureLayer。 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1729533761a1205146.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论