BuildingFilter

AMD: require(["geoscene/layers/support/BuildingFilter"], (BuildingFilter) => { /* 代码 */ });
ESM: import BuildingFilter from "@geoscene/core/layers/support/BuildingFilter";
类: geoscene/layers/support/BuildingFilter
继承于: BuildingFilter Accessor
起始版本: GeoScene API for JavaScript 4.22

BuildingFilter 类定义了一组条件,可用于在 SceneView 中显示或隐藏 BuildingSceneLayer 的特定要素。 例如,如果您想查看位于二楼的建筑物部分,您可以设置过滤器以仅显示二楼。 通过将过滤器添加到 BuildingSceneLayer.filters 集合并将 id 分配给 BuildingSceneLayer.activeFilterId,可以在层上激活过滤器。 一旦过滤器被激活,只有满足 filterBlocks 定义的条件的要素才会显示在 SceneView 中。

示例:
示例代码:
// 定义 floor filter
const buildingFilter = new BuildingFilter({
  filterBlocks: [{
    // 使用 BldgLevel 字段过滤的 SQL 表达式
filterExpression: "BldgLevel = 3", filterMode: { type: "wire-frame", edges: { type: "solid", color: [0, 0, 0, 0.8] } } }] }); // 在图层上的过滤器数组中设置过滤器
buildingLayer.filters = [buildingFilter]; // 指定应该应用哪个过滤器
buildingLayer.activeFilterId = buildingFilter.id;

构造函数

new BuildingFilter(properties)
参数:
properties Object
optional

所有可传入构造函数的属性,请参见属性列表

属性列表

可以设置、检索或监听的属性。参见 使用属性
展示继承属性 隐藏继承属性
属性 类型 描述
String 更多信息

类名。

更多信息 Accessor
String 更多信息

在 UI 中显示的过滤器说明,例如在 GeoScene Pro 中编辑过滤器时。

更多信息 BuildingFilter
Collection<BuildingFilterBlock> 更多信息

过滤块定义了哪些要素应在受影响的 BuildingSceneLayer 中可见,以及如何绘制过滤的要素。

更多信息 BuildingFilter
String 更多信息

唯一的过滤器 ID。

更多信息 BuildingFilter
String 更多信息

用于在 UI 中显示的过滤器名称,例如在 GeoScene Pro 中编辑过滤器时。

更多信息 BuildingFilter

属性详细说明

declaredClass Stringreadonly inherited

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

description String

在 UI 中显示的过滤器说明,例如在 GeoScene Pro 中编辑过滤器时。

过滤器块定义哪些要素应在受影响的 BuildingSceneLayer 中可见,以及过滤要素的绘制方式。 一个过滤器应该至少包含一个过滤器块。

过滤器块的顺序影响过滤器块的应用顺序。 例如,如果使用wire-frame 模式的过滤器块在集合中的 solid 过滤器块之前,则匹配任一过滤器块的元素将被绘制为线框。

id Stringreadonly

唯一的过滤器 ID。将此 ID 分配给 BuildingSceneLayer.activeFilterId 以激活过滤器。

name String

用于在 UI 中显示的过滤器名称,例如在 GeoScene Pro 中编辑过滤器时。

方法列表

属性 返回值类型 描述
* 更多信息

创建此类的新实例并使用从 GeoScene产品生成的 JSON 对象的值对其进行初始化。

更多信息 BuildingFilter
Object 更多信息

将此类的实例转换为其 GeoScene portal JSON 格式。

更多信息 BuildingFilter

方法详细说明

fromJSON(json){*}static

创建此类的新实例,并使用从 GeoScene 产品生成的 JSON 对象的值对其进行初始化。传递给输入 json 参数的对象通常来自对 REST API 中的查询操作的响应,或者来自另一个 GeoScene产品的 toJSON() 方法。有关何时以及如何使用此函数的详细信息和示例,请参阅指南中的 使用 fromJSON() 主题。

参数:
json Object

实例的 json 表达式,以geoscene 格式显示。

返回值:
类型 描述
* 返回一个该类的新实例。
toJSON(){Object}

将此类的实例转换为 GeoScene portal JSON 格式。 有关更多信息,请参阅 使用 fromJSON() 指南。

返回值:
类型 描述
Object 此类实例的 GeoScene portal JSON 格式。

类型定义

BuildingFilterBlock Object

filterBlocks 集合中包含的对象:

属性:
filterExpression String

用于将要素与此过滤器块匹配的 SQL where 子句。只有满足过滤器表达式的要素才会显示在 SceneView 中。此属性使用缓存的属性在客户端上计算,并且仅支持标准化 SQL。

filterMode Object
optional

此对象包含有关过滤器块的筛选模式的信息。

规范:
type String
optional
默认值:solid

定义过滤器处于活动状态时如何绘制要素。 solid 模式使用原始纹理渲染特征。 使用 wire-frame 模式,仅显示特征的边缘。  x-ray 用白色渲染元素半透明。 为确保客户端应用程序的性能,不建议声明多个具有相同过滤模式的过滤器块。

可选值:"solid"|"wire-frame"|"x-ray"

optional

定义用于显示以线框模式过滤的 BuildingSceneLayer 的边类型。 此属性只能与 wire-frame 模式的 filterMode 一起使用。

title String
optional

用于在 UI 中显示的过滤器标题,例如在 GeoScene Pro 中编辑过滤器块时。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.