BuildingComponentSublayer

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

BuildingComponentSublayers 包含表示门、管道或 AC 单元等建筑构件的 3D 对象要素。它们是 BuildingSceneLayer 中的子图层,可以直接作为 BuildingGroupSublayer 的一部分。此子图层类似于 3D 对象 SceneLayer,可以使用特定的渲染器进行可视化,可以使用 popupTemplate 自定义弹出窗口,并且可以通过设置 definitionExpression 来应用 SQL 过滤器。

从版本 4.17 开始,如果 BuildingSceneLayer 具有关联的要素图层,则 BuildingComponentSublayers 支持属性或空间查询。

另请参阅

属性概述

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

类的名称。

更多详情
Accessor
String

用于过滤客户端中要素的 SQL where 子句。

更多详情
BuildingComponentSublayer
Number

场景服务定义的子图层的图层 id。

更多详情
BuildingSublayer
Boolean

指示此子图层是否为空。

更多详情
BuildingSublayer
String

指示图层在 LayerList 微件中的显示方式。

更多详情
BuildingComponentSublayer
Error

如果加载时发生错误,则返回 Error 对象。

更多详情
BuildingComponentSublayer
String

表示 load 操作的状态。

更多详情
BuildingComponentSublayer
Object[]

加载时发生的警告列表。

更多详情
BuildingComponentSublayer
String

modelName 是每个子图层的标准名称。

更多详情
BuildingSublayer
Number

子图层的不透明度。

更多详情
BuildingSublayer
String[]

要包含在每个要素中的字段名称数组。

更多详情
BuildingComponentSublayer
Boolean

指示单击图层中的要素时是否显示弹出窗口。

更多详情
BuildingComponentSublayer
PopupTemplate

子图层的弹出模板。

更多详情
BuildingComponentSublayer
渲染器

分配给子图层的渲染器。

更多详情
BuildingComponentSublayer
String

用于在某些地方标识它的子图层标题,例如 LayerListLegend 微件。

更多详情
BuildingSublayer
String对于 BuildingComponentSublayer,类型总是 "building-component"更多详情BuildingComponentSublayer
Boolean

指示子图层在视图中是否可见。

更多详情
BuildingSublayer

属性详细信息

declaredClass Stringreadonly inherited

类的名称。声明的类名称格式化为 geoscene.folder.className

definitionExpression String

用于过滤客户端中要素的 SQL where 子句。仅满足定义表达式的要素才会显示在 View 中。当仅显示图层中数据的子集时,设置定义表达式非常有用。

设置图层的定义表达式会自动更新所有图层视图。

如果在将图层添加到地图后设置定义表达式,则视图将自动刷新以显示满足新定义表达式的要素。

请注意,即使经过过滤,要素的初始加载时间也保持不变。发生这种情况是因为,与要素图层相反,要素过滤是在客户端完成的。这意味着需要下载所有要素以进行过滤器评估。

此属性使用缓存的属性在客户端上计算,并且仅支持标准化 SQL。

id Numberreadonly inherited

场景服务定义的子图层的图层 id。

isEmpty Booleanreadonly inherited

指示此子图层是否为空。此属性仅从服务中读取。不会加载空子图层进行渲染,应用程序可以选择在其 UI 中隐藏它们。

listMode String
起始版本:GeoScene Maps SDK for JavaScript 4.11

指示图层在 LayerList 微件中的显示方式。下面列出了可能的值。

描述
show 图层在内容列表中可见。
hide 图层在内容列表中隐藏。

可能值"show"|"hide"

默认值:show
loadError Errorreadonly

如果加载时发生错误,则返回 Error 对象。

默认值:null
loadStatus Stringreadonly

表示 load 操作的状态。

描述
not-loaded 对象的资源尚未加载。
loading 对象的资源当前正在加载。
loaded 对象的资源已加载且未出现错误。
failed 无法加载对象的资源。有关更多详情,请参阅 loadError

可能值"not-loaded"|"loading"|"failed"|"loaded"

默认值:not-loaded
loadWarnings Object[]readonly

加载时发生的警告列表。

modelName Stringreadonly inherited

modelName 是每个子图层的标准名称。例如,包含建筑物中门的子图层的模型名称为“Doors”。使用此属性可检索 BuildingSceneLayer 中的子图层。

示例
// use modelName to identify a sublayer
const doorslayer = buildingSceneLayer.allSublayers.find(function(sublayer) {
  return sublayer.modelName === "Doors";
});

子图层的不透明度。

默认值:1
outFields String[]
起始版本:GeoScene Maps SDK for JavaScript 4.12

要包含在每个要素中的字段名称数组。要从图层的所有字段中获取值,请使用 ["*"]outFields 中指定的字段将与 rendering 所需的字段一起被请求。

要在所有子图层中包含字段,请使用父图层的 outFields 属性。

默认值:null
popupEnabled Boolean

指示单击图层中的要素时是否显示弹出窗口。该图层需要具有一个 popupTemplate,以定义应在弹出窗口中显示哪些信息。或者,如果 Popup.defaultPopupTemplateEnabled 设置为 true 时,则可自动使用默认弹出模板。

默认值:true
另请参阅
popupTemplate PopupTemplateautocast

子图层的弹出模板。设置后,popupTemplate 允许用户在使用文本和/或图表选择要素时访问属性并在视图的弹出窗口中显示其值。有关 PopupTemplate 如何与 FeatureLayer 交互的例子,请参阅 PopupTemplate sample。在此图层类型上设置 PopupTemplate 的方式与 FeatureLayer 相同。

Popup.defaultPopupTemplateEnabled 设置为 true 时,如果未定义 popupTemplate,则自动使用默认弹出模板。

另请参阅

分配给子图层的渲染器。渲染器定义如何可视化子图层中的每个要素。根据渲染器类型,可以使用相同的符号或基于提供的属性字段或函数的值使用不同的符号来可视化要素。

示例
// all features in the layer will be visualized with
// a blue color
sublayer.renderer = {
  type: "simple",  // autocasts as new SimpleRenderer()
  symbol: {
    type: "mesh-3d",  // autocasts as new MeshSymbol3D()
    symbolLayers: [{
      type: "fill",  // autocasts as new FillSymbol3DLayer()
      material: { color: "blue" }
    }]
  }
};

用于在某些地方标识它的子图层标题,例如 LayerListLegend 微件。

type Stringreadonly

对于 BuildingComponentSublayer,类型总是 "building-component"

指示子图层在视图中是否可见。

默认值:true

方法概述

显示继承的方法 隐藏继承的方法
名称 返回值类值 描述

添加一个或多个与对象的生命周期相关联的句柄。

更多详情
Accessor

如果 load() 操作已在进行中,则取消它。

更多详情
BuildingComponentSublayer
PopupTemplate

为图层创建一个默认弹出模板,使用图层的所有字段进行填充。

更多详情
BuildingComponentSublayer
Query

创建一个查询对象,该对象可用于提取满足组件子图层的当前定义表达式的要素。

更多详情
BuildingComponentSublayer
Field

返回字段名称的 Field 实例 (不区分大小写)。

更多详情
BuildingComponentSublayer
Domain

返回与给定字段名称相关联的 Domain

更多详情
BuildingComponentSublayer
Object

获取字段使用信息。

更多详情
BuildingComponentSublayer
Boolean

如果存在指定的句柄组,则返回 true。

更多详情
Accessor
Boolean

isFulfilled() 可用于验证创建类的实例是否已完成 (已解决或已拒绝)。

更多详情
BuildingComponentSublayer
Boolean

isRejected() 可用于验证创建类的实例是否被拒绝。

更多详情
BuildingComponentSublayer
Boolean

isResolved() 可用于验证创建类的实例是否已解决。

更多详情
BuildingComponentSublayer
Promise

加载此类引用的资源。

更多详情
BuildingComponentSublayer
Promise<Object>

对关联的要素服务执行查询,并返回满足查询条件的要素的 2D 范围

更多详情
BuildingComponentSublayer
Promise<number>

对关联的要素服务执行查询,并返回满足查询条件的要素数。

更多详情
BuildingComponentSublayer
Promise<FeatureSet>

对关联的要素服务执行查询并返回 FeatureSet

更多详情
BuildingComponentSublayer
Promise<number[]>

对关联的要素服务执行查询,并返回满足输入查询条件的要素的 ObjectID 数组。

更多详情
BuildingComponentSublayer

移除对象拥有的句柄组。

更多详情
Accessor
Promise

一旦创建了类的实例,就可以使用when()

更多详情
BuildingComponentSublayer

方法详细说明

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() 进行删除。如果未提供键,则句柄将被添加到默认组。

cancelLoad()

如果 load() 操作已在进行中,则取消它。

createPopupTemplate(options){PopupTemplate}
起始版本:GeoScene Maps SDK for JavaScript 4.11

为图层创建一个默认弹出模板,使用图层的所有字段进行填充。

参数
optional

用于创建弹出模板的选项。

返回
类型 描述
PopupTemplate 弹出模板,如果图层没有任何字段,则为 null
createQuery(){Query}
起始版本:GeoScene Maps SDK for JavaScript 4.17

创建一个查询对象,该对象可用于提取满足组件子图层的当前定义表达式的要素。查询应仅在图层上使用,而不应在图层视图上使用。

返回
类型 描述
Query 表示图层的定义表达式的查询对象。
getField(fieldName){Field}
起始版本:GeoScene Maps SDK for JavaScript 4.12

返回字段名称的 Field 实例 (不区分大小写)。

参数
fieldName String

字段名称。

返回
类型 描述
Field 匹配字段或 undefined
getFieldDomain(fieldName, options){Domain}
起始版本:GeoScene Maps SDK for JavaScript 4.12

返回与给定字段名称相关联的 Domain。域可以是 CodedValueDomainRangeDomain

参数
fieldName String

字段名称。

options Object
optional

指定附加选项的对象。有关此对象所需的属性,请参阅下面的对象规范表。

规范
feature Graphic

Domain 分配到的要素。

返回
类型 描述
Domain 与给定要素的给定字段名称相关联的 Domain 对象。
getFieldUsageInfo(fieldName){Object}
起始版本:GeoScene Maps SDK for JavaScript 4.17。

获取字段使用信息。在构建组件子图层上,字段始终可用于渲染和弹出窗口。字段只能用于查询关联的要素服务是否可用。

返回的对象包含以下用法信息:

属性 类型 描述
supportsRenderer boolean 表示可以在渲染器中使用字段 (例如,在视觉变量中),请参阅渲染器
supportsLabelingInfo boolean 此值始终是 falseBuildingSceneLayer 不支持标注。
supportsPopupTemplate boolean 表示可以在弹出模板中使用字段,请参阅 popupTemplate
supportsLayerQuery boolean 表示可以在图层查询中使用字段,请参阅 queryFeatures()
参数
fieldName String

要获取其使用情况信息的字段名称。

返回
类型 描述
Object 字段用法。
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");
}
isFulfilled(){Boolean}

isFulfilled() 可用于验证创建类的实例是否已完成 (已解决或已拒绝)。如果满足,则返回 true

返回
类型 描述
Boolean 指示创建类的实例是否已完成 (已解决或已拒绝)。
isRejected(){Boolean}

isRejected() 可用于验证创建类的实例是否被拒绝。如果被拒绝,则返回 true

返回
类型 描述
Boolean 指示创建类的实例是否已被拒绝。
isResolved(){Boolean}

isResolved() 可用于验证创建类的实例是否已解决。如果已解决,则返回 true

返回
类型 描述
Boolean 指示创建类的实例是否已解决。
load(signal){Promise}

加载此类引用的资源。如果视图是使用地图实例构造的,则此方法会自动为 View 及其在 Map 中引用的所有资源执行。

开发人员在访问不会在 View 中加载的资源时,必须调用此方法。

load() 方法仅在第一次调用时触发资源的加载。随后的调用将返回相同的 promise。

可以提供一个 signal 来停止对 Loadable 实例加载状态感兴趣。当信号中止时,实例不会停止其加载过程,只有 cancelLoad 可以中止它。

参数
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被拒绝,并具有一个名为 AbortError错误。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回
类型 描述
Promise 资源已加载时解析。
queryExtent(query, options){Promise<object>}
起始版本:GeoScene Maps SDK for JavaScript 4.17

对关联的要素服务执行查询,并返回满足查询条件的要素的 2D 范围。目前,可以使用 BuildingComponentSublayerView.queryExtent() 返回 3D 范围,但这只会返回视图中当前要素的 3D 范围。仅当 BuildingSceneLayer 具有关联的要素图层时,查询才会成功。如果关联的要素图层不可用,则会抛出名为 buildingscenelayer:query-not-available 的错误。更多关于查询的信息,请阅读 BuildingSceneLayer 类描述的查询部分。

参数
optional
自动转换自 Object

指定查询参数。

options Object
optional

具有以下属性的对象。

规范
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被拒绝,并具有一个名为 AbortError错误。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回
类型 描述
Promise<Object> 解析后,返回满足输入查询的要素的范围和计数。有关详细信息,请参阅下面的对象规范表。
属性 类型 描述
count Number 满足输入查询的要素数量。
extent Extent 满足查询的要素范围。
queryFeatureCount(query, options){Promise<number>}
起始版本:GeoScene Maps SDK for JavaScript 4.17

对关联的要素服务执行查询,并返回满足查询条件的要素数。仅当启用图层的 supportsLayerQuery 功能时,查询才会成功。使用 getFieldUsageInfo() 方法检查图层是否支持查询。如果未启用查询,则会抛出名为 buildingscenelayer:query-not-available 的错误。更多关于查询的信息,请阅读 BuildingSceneLayer 类描述的查询部分。

参数
optional
自动转换自 Object

指定查询参数。

options Object
optional

具有以下属性的对象。

规范
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被拒绝,并具有一个名为 AbortError错误。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回
类型 描述
Promise<number> 解析为满足查询的要素计数。
queryFeatures(query, options){Promise<FeatureSet>}
起始版本:GeoScene Maps SDK for JavaScript 4.17

对关联的要素服务执行查询并返回 FeatureSet。仅当启用图层的 supportsLayerQuery 功能时,查询才会成功。使用 getFieldUsageInfo() 方法检查图层是否支持查询。如果未启用查询,则会抛出名为 buildingscenelayer:query-not-available 的错误。更多关于查询的信息,请阅读 BuildingSceneLayer 类描述的查询部分。

参数
optional
自动转换自 Object

指定查询参数。

options Object
optional

具有以下属性的对象。

规范
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被拒绝,并具有一个名为 AbortError错误。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回
类型 描述
Promise<FeatureSet> 解析为包含满足查询的要素的 FeatureSet
queryObjectIds(query, options){Promise<number[]>}
起始版本:GeoScene Maps SDK for JavaScript 4.17

对关联的要素服务执行查询,并返回满足输入查询条件的要素的 ObjectID 数组。仅当启用图层的 supportsLayerQuery 功能时,查询才会成功。使用 getFieldUsageInfo() 方法检查图层是否支持查询。如果未启用查询,则会抛出名为 buildingscenelayer:query-not-available 的错误。更多关于查询的信息,请阅读 SceneLayer 类描述的查询部分。

参数
optional
自动转换自 Object

指定查询参数。

options Object
optional

具有以下属性的对象。

规范
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被拒绝,并具有一个名为 AbortError错误。另请参阅 AbortController 以获取有关如何构造可用于传递中止信号的控制器的更多信息。

返回
类型 描述
Promise<number[]> 解析为一个数字数组,表示满足查询的要素的对象 ID。
另请参阅
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");
when(callback, errback){Promise}

一旦创建了类的实例,就可以使用when() 。此方法接受两个输入参数:callback 函数和 errback 函数。callback 在类的实例加载时执行。errback 在类的实例无法加载时执行。

参数
callback Function
optional

当 promise 解决时调用的函数。

errback Function
optional

当 promise 失败时执行的函数。

返回
类型 描述
Promise 返回 callback 结果的新承诺,可用于链接其他函数。
示例
// Although this example uses MapView, any class instance that is a promise may use when() in the same way
let view = new MapView();
view.when(function(){
  // This function will execute once the promise is resolved
}, function(error){
  // This function will execute if the promise is rejected due to an error
});

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