图层中每个字段的信息。从客户端图形创建 FeatureLayer 时必须构造字段对象。此类允许您定义 FeatureLayer 中每个字段的方案。请注意,您不需要将字段添加到从服务加载的 FeatureLayer 的构造函数中,因为这些字段已由服务定义。有关使用此模块的详细信息,请参阅下面的示例。
// Each object in this array is autocast as
// an instance of geoscene/layers/support/Field
let fields = [
{
name: "ObjectID",
alias: "ObjectID",
type: "oid"
}, {
name: "title",
alias: "title",
type: "string"
}, {
name: "type",
alias: "type",
type: "string"
}, {
name: "mag",
alias: "Magnitude",
type: "double"
}];
// add the array of fields to a feature layer
// created from client-side graphics
featureLayer.set({
fields: fields,
objectIdField: "ObjectID"
});
构造函数
属性概述
名称 | 类型 | 描述 | 类 |
---|---|---|---|
String | 字段的显示名称。 更多详情 | Field | |
String | 类的名称。 更多详情 | Accessor | |
Number|String|null|undefined | 为字段设置的默认值。 更多详情 | Field | |
String | 包含描述每个字段的用途的信息。 更多详情 | Field | |
CodedValueDomain|RangeDomain|InheritedDomain | 与字段相关联的属性域。 更多详情 | Field | |
Boolean | 指示字段是否可编辑。 更多详情 | Field | |
Number | 字段长度。 更多详情 | Field | |
String | 字段的名称。 更多详情 | Field | |
Boolean | 指示字段是否可以接受 | Field | |
String | 字段的数据类型。 更多详情 | Field | |
String | 可以分配给字段的值的类型。 更多详情 | Field |
属性详细信息
-
alias String
-
字段的显示名称。
- 默认值:null
-
起始版本:GeoScene Maps SDK for JavaScript 4.7
-
类的名称。声明的类名称格式化为
geoscene.folder.className
。
-
起始版本:GeoScene Maps SDK for JavaScript 4.9
-
为字段设置的默认值。
- 默认值:undefined
-
description String起始版本:GeoScene Maps SDK for JavaScript 4.12
-
包含描述每个字段的用途的信息。
-
与字段相关联的属性域。属性域用于约束字段中允许的值。有两种类型的属性域:RangeDomain 和 CodedValueDomain。
- 默认值:null
示例// print out the coded domain values when the layer is loaded view.whenLayerView(featureLayer).then(function(layerView) { layerView.watch("updating", function(value) { if (!value) { featureLayer.fields.forEach(function(field){ if (field.domain){ let domain = field.domain console.log(field.name, domain.type, domain.name); if (domain.type === "coded-value"){ domain.codedValues.forEach(function(codeValue){ console.log("name:", codeValue.name, "code:", codeValue.code); }); } } }); } }); });
-
editable Boolean
-
指示字段是否可编辑。
- 默认值:true
-
length Number
-
字段长度。
- 默认值:-1
-
name String
-
字段的名称。
- 默认值:null
-
nullable Boolean
-
指示字段是否可以接受
null
值。需要 GeoScene Server 版本 1.1 或更高版本。- 默认值:true
-
type String
-
字段的数据类型。
可能值:"small-integer"|"integer"|"single"|"double"|"long"|"string"|"date"|"oid"|"geometry"|"blob"|"raster"|"guid"|"global-id"|"xml"
- 默认值:null
-
valueType String起始版本:GeoScene Maps SDK for JavaScript 4.12
-
可以分配给字段的值的类型。有关可能值列表,请参见下表。
模式 描述 name-or-title 表示每个要素的名称、标题、标注或关键字的文本。 description 提供较长要素描述的文本,而不仅仅是名称或标题。 type-or-category 根据共同特征对要素进行分组的类型或类别。 count-or-amount 整数 (无小数),表示特定属性的数量。 percentage-or-ratio 此字段中的数字值反映不同数量之间的关系。 measurement 反映可以精确测量的特征的数字。 unique-identifier 此字段中的值用于将一个要素或实体与另一个要素或实体明确区分开来。 ordered-or-ranked 此字段中的值表示要素在有序或排名列表中的状态。例如,要素可以是以下值之一: Small, medium, large
、First, second, third, fourth
或Informational, warning, error, failure
。binary 每个要素只可能有两个值中的一个。一些示例包括: On or off
,Yes or no
,True or false
, orInhabited or vacant
.location-or-place-name 此字段中的值表示地理位置。此类字段中的值的示例包括街道地址、城市名称、区域、建筑物名称(如 A.K.Smiley 公共图书馆)、景点名称(如阿拉米达县展览会场或凯恩戈姆国家公园)、邮政编码或国家/地区。 coordinate 这些字段存储地理坐标值,例如 x、y、z、纬度或经度。 date-and-time 此字段中的值存储显式日期和时间或日期引用,如星期几、月份或年。 none 未指定类型。 可能值:"binary"|"coordinate"|"count-or-amount"|"date-and-time"|"description"|"location-or-place-name"|"measurement"|"name-or-title"|"none"|"ordered-or-ranked"|"percentage-or-ratio"|"type-or-category"|"unique-identifier"
方法概述
名称 | 返回值类值 | 描述 | 类 |
---|---|---|---|
添加一个或多个与对象的生命周期相关联的句柄。 更多详情 | Accessor | ||
* | 创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象值对其进行初始化。 更多详情 | Field | |
Boolean | 如果存在指定的句柄组,则返回 true。 更多详情 | Accessor | |
移除对象拥有的句柄组。 更多详情 | Accessor | ||
Object | 将此类的实例转换为 GeoScene Portal JSON 表示。 更多详情 | Field |
方法详细说明
-
addHandles(handleOrHandles, groupKey)inherited起始版本:GeoScene Maps SDK for JavaScript 4.25
-
添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。
// Manually manage handles const handle = reactiveUtils.when( () => !view.updating, () => { wkidSelect.disabled = false; }, { once: true } ); // Handle gets removed when the object is destroyed. this.addHandles(handle);
参数handleOrHandles WatchHandle|WatchHandle[]对象销毁后,标记为要移除的句柄。
groupKey *optional标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。
-
fromJSON(json){*}static
-
创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象值对其进行初始化。传入到输入
json
参数的对象通常来自对 REST API 中查询操作的响应或来自另一个 GeoScene 产品的 toJSON() 方法。有关何时以及如何使用该函数的详细信息和示例,请参阅指南中的使用 fromJSON() 主题。参数json ObjectGeoScene 格式实例的 JSON 表示。有关各种输入 JSON 对象的结构示例,请参阅 GeoScene REST API 文档。
返回类型 描述 * 返回该类的新实例。
-
起始版本:GeoScene Maps SDK for JavaScript 4.25
-
如果存在指定的句柄组,则返回 true。
参数groupKey *optional组键。
返回类型 描述 Boolean 如果存在指定的句柄组,则返回 true
。示例// Remove a named group of handles if they exist. if (obj.hasHandles("watch-view-updates")) { obj.removeHandles("watch-view-updates"); }
-
removeHandles(groupKey)inherited起始版本:GeoScene Maps SDK for JavaScript 4.25
-
移除对象拥有的句柄组。
参数groupKey *optional要移除的组键或组键的数组或集合。
示例obj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
-
toJSON(){Object}
-
将此类的实例转换为 GeoScene Portal JSON 表示。有关详细信息,请参阅使用 fromJSON() 指南主题。
返回类型 描述 Object 此类实例的 GeoScene Portal JSON 表示。