Field

AMD: require(["geoscene/layers/support/Field"], (Field) => { /* code goes here */ });
ESM: import Field from "@geoscene/core/layers/support/Field";
类: geoscene/layers/support/Field
继承于:Field Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.0

图层中每个字段的信息。从客户端图形创建 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"
});

构造函数

new Field(properties)
参数
properties Object
optional

有关可能传递给构造函数的所有属性的列表,请参见属性

属性概述

可以设置、检索或侦听任何属性。请参阅使用属性主题。
显示继承属性 隐藏继承属性
名称 类型 描述
String

字段的显示名称。

更多详情
Field
String

类的名称。

更多详情
Accessor
Number|String|null|undefined

为字段设置的默认值。

更多详情
Field
String

包含描述每个字段的用途的信息。

更多详情
Field
CodedValueDomain|RangeDomain|InheritedDomain

与字段相关联的属性域。

更多详情
Field
Boolean

指示字段是否可编辑。

更多详情
Field
Number

字段长度。

更多详情
Field
String

字段的名称。

更多详情
Field
Boolean

指示字段是否可以接受 null 值。

更多详情
Field
String

字段的数据类型。

更多详情
Field
String

可以分配给字段的值的类型。

更多详情
Field

属性详细信息

alias String

字段的显示名称。

默认值:null
declaredClass Stringreadonly inherited
起始版本: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

包含描述每个字段的用途的信息。

另请参阅

与字段相关联的属性域。属性域用于约束字段中允许的值。有两种类型的属性域:RangeDomainCodedValueDomain

默认值: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, largeFirst, second, third, fourthInformational, warning, error, failure
binary 每个要素只可能有两个值中的一个。一些示例包括:On or off, Yes or no, True or false, or Inhabited 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 Object

GeoScene 格式实例的 JSON 表示。有关各种输入 JSON 对象的结构示例,请参阅 GeoScene REST API 文档

返回
类型 描述
* 返回该类的新实例。
hasHandles(groupKey){Boolean}inherited
起始版本: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 表示。

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息