代表 SubtypeGroupLayer 中的子图层。每个 SubtypeSublayer 都不是独立服务,而是每个子图层对应于源要素服务中的一个子类型。此模式允许对每个子图层彼此独立地进行符号化,而无需为每个子图层提供单独的服务。此关系不同于 MapImageLayer 及其子图层之间的关系。对于 MapImageLayer,其子图层表示各个地图服务。
SubtypeSublayers 由其唯一的 subtypeCode 进行标识。您可在初始化 SubtypeGroupLayer 时配置每个子图层的属性
// Only includes one SubtypeSublayer from the SubtypeGroupLayer
let layer = new SuptypeGroupLayer({
url: "https://sampleserver7.arcgisonline.com/server/rest/services/UtilityNetwork/NapervilleElectric/FeatureServer/0",
sublayers: [{ // autocasts as a Collection of SubtypeSublayers
subtypeCode: 14,
visible: true,
renderer: {
type: "simple", // autocasts as a SimpleRenderer()
symbol: {
type: "simple-marker", // autocasts as a SimpleMarkerSymbol()
style: "circle",
color: [120, 120, 120, 255],
size: 6
}
}
}]
});
构造函数
属性概述
名称 | 类型 | 描述 | 类 |
---|---|---|---|
Boolean | 确定图层是否可编辑。 更多详情 | SubtypeSublayer | |
Field[] | 图层中的字段数组。 更多详情 | SubtypeSublayer | |
FormTemplate | 在关联图层的 FeatureForm 中使用的 template。 更多详情 | SubtypeSublayer | |
LabelClass[] | 此图层的标注定义,指定为 LabelClass 的数组。 更多详情 | SubtypeSublayer | |
Boolean | 指示是否显示此图层的标注。 更多详情 | SubtypeSublayer | |
Boolean | 指示图层是否将包含在图例中。 更多详情 | SubtypeSublayer | |
Number | 图层在视图中可见时的最大比例 (放至最大)。 更多详情 | SubtypeSublayer | |
Number | 图层在视图中可见时的最小比例 (缩至最小)。 更多详情 | SubtypeSublayer | |
Number | 图层的不透明度。 更多详情 | SubtypeSublayer | |
Boolean | 指示单击图层中的要素时是否显示弹出窗口。 更多详情 | SubtypeSublayer | |
PopupTemplate | 图层的弹出模板。 更多详情 | SubtypeSublayer | |
渲染器 | 分配给图层的渲染器。 更多详情 | SubtypeSublayer | |
Number | 表示基于 SubtypeGroupLayer 创建的 SubtypeSublayer 的唯一标识符。 更多详情 | SubtypeSublayer | |
FeatureTemplate[] | 在要素图层中定义的要素模板数组。 更多详情 | SubtypeSublayer | |
String | 用于在某些地方标识它的图层标题,例如 Legend 微件。 更多详情 | SubtypeSublayer | |
String | 对于 SubtypeSublayer,类型总是 "subtype-sublayer"。更多详情 | SubtypeSublayer | |
Boolean | 指示图层在 View 中是否可见。 更多详情 | SubtypeSublayer |
属性详细信息
-
editingEnabled Boolean
-
确定图层是否可编辑。
- 默认值:true
- 另请参阅
-
图层中的字段数组。每个字段都表示一个属性,该属性可能包含图层中每个要素的值。例如,名为
POP_2015
的字段将有关总人口的信息存储为每个要素的数值;此值表示居住在要素地理范围内的总人数。示例// define each field's schema const fields = [ new Field({ name: "ObjectID", alias: "ObjectID", type: "oid" }), new Field({ name: "description", alias: "Description", type: "string" }), new Field ({ name: "title", alias: "Title", type: "string" }) ]; // See the sample snippet for the source property const layer = new SubtypeSublayer({ // Object ID field is inferred from the fields array fields: fields });
-
formTemplate FormTemplateautocast
-
在关联图层的 FeatureForm 中使用的 template。在图层 FeatureForm 上设置的所有属性和字段配置都通过 FormTemplate 进行处理。
示例// Create the Field Elements to pass into the template const fieldElement1 = new FieldElement({ fieldName: "firstname", label: "First name", description: "First name of emergency contact" }); const fieldElement2 = new FieldElement({ fieldName: "lastname", label: "Last name", description: "Last name of emergency contact" }); // Create the form's template const formTemplate = new FormTemplate({ title: "Emergency information", description: "In case of emergency, update any additional information needed", elements: [fieldElement1, fieldElement2] // pass in array of field elements from above }); // Pass the template to the layer subtypeSublayer.formTemplate = formTemplate; // Pass the layer to the FeatureForm const form = new FeatureForm({ container: "form", // html div referencing the form layer: subtypeSublayer });
-
labelingInfo LabelClass[]autocast
-
此图层的标注定义,指定为 LabelClass 的数组。使用此属性可以指定图层的标注属性,例如标注表达式、放置和大小。
具有不同
where
子句的多个标注类可用于在同一要素上定义具有不同样式的多个标注。同样,可以使用多个标注类来标注不同类型的要素 (例如,湖泊的蓝色标注和公园的绿色标注)。请参阅标注指南页面,了解更多信息和已知限制。
已知限制
3D SceneViews 仅支持为每个要素显示一个 LabelClass。
示例const statesLabelClass = new LabelClass({ labelExpressionInfo: { expression: "$feature.NAME" }, symbol: { type: "text", // autocasts as new TextSymbol() color: "black", haloSize: 1, haloColor: "white" } }); subtypeSubLayer.labelingInfo = [ statesLabelClass ];
-
labelsVisible Boolean
-
指示是否显示此图层的标注。如果为
true
,标注将按 labelingInfo 属性中定义的方式显示。已知限制
3D SceneViews 仅支持为每个要素显示一个 LabelClass。
- 默认值:true
-
legendEnabled Boolean
-
指示图层是否将包含在图例中。
- 默认值:true
-
maxScale Number
-
图层在视图中可见时的最大比例 (放至最大)。如果地图放大至超过此比例,则图层将不可见。值为 0 表示该图层没有最大比例。maxScale 值应始终小于 minScale 值,并且大于或等于服务规范。
- 默认值:0
-
minScale Number
-
图层在视图中可见时的最小比例 (缩至最小)。如果地图缩小到超过此比例,则图层将不可见。值为 0 表示该图层没有最小比例。minScale 值应始终大于 maxScale 值,并且小于或等于服务规范。
- 默认值:0
-
opacity Number
-
图层的不透明度。此值的范围在
1
和0
之间,其中0
是 100% 透明,而1
为完全不透明。- 默认值:1
示例// Makes the layer 50% transparent layer.opacity = 0.5;
-
popupEnabled Boolean
-
指示单击图层中的要素时是否显示弹出窗口。该图层需要具有一个 popupTemplate,以定义应在弹出窗口中显示哪些信息。或者,如果 Popup.defaultPopupTemplateEnabled 设置为
true
时,则可自动使用默认弹出模板。- 默认值:true
- 另请参阅
-
popupTemplate PopupTemplateautocast
-
图层的弹出模板。在图层上设置时,
popupTemplate
允许用户在使用文本和/或图表选择要素时访问属性并在视图的弹出窗口中显示其值。有关 PopupTemplate 如何与 FeatureLayer 交互的例子,请参阅 PopupTemplate sample。当 Popup.defaultPopupTemplateEnabled 设置为
true
时,如果未定义popupTemplate
,则自动使用默认弹出模板。- 另请参阅
-
分配给图层的渲染器。渲染器定义如何可视化图层中的每个要素。根据渲染器类型,可以使用相同的符号或基于提供的属性字段或函数的值使用不同的符号来可视化要素。
但是,从客户端要素创建 FeatureLayer 时,必须在图层的构造函数中指定此属性以及 source、fields、objectIdField 属性。
示例// all features in the layer will be visualized with // a 6pt black marker symbol and a thin, white outline layer.renderer = { type: "simple", // autocasts as new SimpleRenderer() symbol: { type: "simple-marker", // autocasts as new SimpleMarkerSymbol() size: 6, color: "black", outline: { // autocasts as new SimpleLineSymbol() width: 0.5, color: "white" } } };
-
subtypeCode Number
-
表示基于 SubtypeGroupLayer 创建的 SubtypeSublayer 的唯一标识符。
- 默认值:null
-
templates FeatureTemplate[]
-
在要素图层中定义的要素模板数组。
-
type Stringreadonly
-
对于 SubtypeSublayer,类型总是 "subtype-sublayer"。
-
visible Boolean
-
- 默认值:true
示例// The layer is no longer visible in the view layer.visible = false;
方法概述
名称 | 返回值类值 | 描述 | 类 |
---|---|---|---|
PopupTemplate | 为图层创建一个弹出模板,使用图层的所有字段进行填充。 更多详情 | SubtypeSublayer | |
Field | 返回字段名称的 Field 实例 (不区分大小写)。 更多详情 | SubtypeSublayer | |
Domain | 返回与给定字段名称相关联的 Domain。 更多详情 | SubtypeSublayer |
方法详细说明
-
createPopupTemplate(options){PopupTemplate}
-
为图层创建一个弹出模板,使用图层的所有字段进行填充。
参数options CreatePopupTemplateOptionsoptional用于创建弹出模板的选项。
返回类型 描述 PopupTemplate 弹出模板,如果图层没有任何字段,则为 null
。
-
getField(fieldName){Field}
-
返回字段名称的 Field 实例 (不区分大小写)。
参数fieldName String字段名称。
返回类型 描述 Field 匹配字段或 undefined
- 另请参阅
-
getFieldDomain(fieldName){Domain}
-
返回与给定字段名称相关联的 Domain。域可以是 CodedValueDomain 或 RangeDomain。
参数fieldName String字段名称。
返回类型 描述 Domain 与给定要素的给定字段名称相关联的 Domain 对象。 示例// Get a range domain associated with the first feature // returned from queryFeatures(). subtypeSublayer.queryFeatures(query).then(function(results){ const domain = subtypeSublayer.getFieldDomain("Height"); console.log("domain", domain) });