表示将 BuildingSceneLayer 添加到 SceneView 中的 Map 后的 LayerView。BuildingSceneLayerView 负责在 SceneView 中流式传输和渲染 BuildingSceneLayer 的要素。
BuildingSceneLayerView 包含 BuildingSceneLayer 的所有组件子图层的子图层视图列表。BuildingSceneLayerView 没有查询方法。要查询客户端加载的功能,请使用组件子图层视图上的查询方法:
// query all the loaded features
view.whenLayerView(buildingSceneLayer).then(function(buildingSceneLayerView) {
buildingSceneLayerView.sublayerViews.forEach(function(sublayerView) {
const query = sublayerView.createQuery();
sublayerView.queryFeatures(query).then(function(result) {
console.log(result.features);
});
});
});
BuildingSceneLayerView 可用于突出显示任何组件子图层中的要素。highlight 方法将应突出显示的要素作为参数:
// on user click, select the first feature in the BuildingSceneLayer
let highlight = null;
view.on("click", function (event) {
view.hitTest(event.screenPoint, {include: buildingSceneLayer}).then((hitTestResult) => {
if (highlight) {
highlight.remove();
highlight = null;
}
if (hitTestResult.results.length) {
highlight = bslv.highlight(hitTestResult.results[0].graphic);
}
});
});
- 另请参阅
属性概述
名称 | 类型 | 描述 | 类 |
---|---|---|---|
String | 类的名称。 更多详情 | Accessor | |
BuildingSceneLayer | 正在查看的图层。 更多详情 | BuildingSceneLayerView | |
Collection<BuildingComponentSublayerView> | BuildingSceneLayer 的所有组件子图层的子图层视图的集合。 更多详情 | BuildingSceneLayerView | |
Boolean | 如果图层被挂起 (即,当图层范围发生更改时,图层将不会重绘或更新),则值为 | BuildingSceneLayerView | |
Boolean | 更新图层时,值为 | LayerView | |
Boolean | 当为 | LayerView |
属性详细信息
-
类的名称。声明的类名称格式化为
geoscene.folder.className
。
-
layer BuildingSceneLayerreadonly
-
正在查看的图层。
-
sublayerViews Collection<BuildingComponentSublayerView>readonly
-
BuildingSceneLayer 的所有组件子图层的子图层视图的集合。
示例view.whenLayerView(buildingSceneLayer).then(function(buildingSceneLayerView) { console.log(buildingSceneLayerView.sublayerViews); });
-
suspended Booleanreadonly
-
如果图层被挂起 (即,当图层范围发生更改时,图层将不会重绘或更新),则值为
true
。
-
更新图层时,值为
true
;例如,如果它正在获取数据。- 默认值:false
-
当为
true
时,图层在视图中可见。此属性的值继承自layer.visible
,除非开发人员重写它。如果设置了两个属性,则layerView.visible
将优先于layer.visible
。- 默认值:true
方法概述
名称 | 返回值类值 | 描述 | 类 |
---|---|---|---|
添加一个或多个与对象的生命周期相关联的句柄。 更多详情 | Accessor | ||
Boolean | 如果存在指定的句柄组,则返回 true。 更多详情 | Accessor | |
Handle | 突出显示给定的要素。 更多详情 | BuildingSceneLayerView | |
Boolean |
| LayerView | |
Boolean |
| LayerView | |
Boolean |
| LayerView | |
移除对象拥有的句柄组。 更多详情 | Accessor | ||
Promise | 一旦创建了类的实例,就可以使用 | LayerView |
方法详细说明
-
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() 进行删除。如果未提供键,则句柄将被添加到默认组。
-
起始版本: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"); }
-
highlight(target){Handle}
-
突出显示给定的要素。
参数optional 要突出显示的要素。传递给此函数的图形必须源自 BuildigSceneLayer 的组件子图层之一。
返回类型 描述 Handle 返回一个带有 remove()
方法的高亮处理程序,可以调用该方法来移除高亮显示。示例// on user click, select the first feature in the BuildingSceneLayer let highlight = null; view.on("click", function (event) { view.hitTest(event.screenPoint, {include: buildingSceneLayer}).then((hitTestResult) => { if (highlight) { highlight.remove(); highlight = null; } if (hitTestResult.results.length) { highlight = bslv.highlight(hitTestResult.results[0].graphic); } }); });
-
isFulfilled()
可用于验证创建类的实例是否已完成 (已解决或已拒绝)。如果满足,则返回true
。返回类型 描述 Boolean 指示创建类的实例是否已完成 (已解决或已拒绝)。
-
isRejected()
可用于验证创建类的实例是否被拒绝。如果被拒绝,则返回true
。返回类型 描述 Boolean 指示创建类的实例是否已被拒绝。
-
isResolved()
可用于验证创建类的实例是否已解决。如果已解决,则返回true
。返回类型 描述 Boolean 指示创建类的实例是否已解决。
-
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
函数。callback
在类的实例加载时执行。errback
在类的实例无法加载时执行。参数callback Functionoptional当 promise 解决时调用的函数。
errback Functionoptional当 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 });