BuildingSceneLayerView

类: geoscene/views/layers/BuildingSceneLayerView
继承于:BuildingSceneLayerView LayerView Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.17

表示将 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

如果图层被挂起 (即,当图层范围发生更改时,图层将不会重绘或更新),则值为 true

更多详情
BuildingSceneLayerView
Boolean

更新图层时,值为 true;例如,如果它正在获取数据。

更多详情
LayerView
Boolean

当为 true 时,图层在视图中可见。

更多详情
LayerView

属性详细信息

declaredClass Stringreadonly inherited

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

layer BuildingSceneLayerreadonly

正在查看的图层。

BuildingSceneLayer 的所有组件子图层的子图层视图的集合。

示例
view.whenLayerView(buildingSceneLayer).then(function(buildingSceneLayerView) {
   console.log(buildingSceneLayerView.sublayerViews);
});
suspended Booleanreadonly

如果图层被挂起 (即,当图层范围发生更改时,图层将不会重绘或更新),则值为 true

updating Booleanreadonly inherited

更新图层时,值为 true;例如,如果它正在获取数据。

默认值:false

当为 true 时,图层在视图中可见。此属性的值继承自 layer.visible,除非开发人员重写它。如果设置了两个属性,则 layerView.visible 将优先于 layer.visible

默认值:true

方法概述

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

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

更多详情
Accessor
Boolean

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

更多详情
Accessor
Handle

突出显示给定的要素。

更多详情
BuildingSceneLayerView
Boolean

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

更多详情
LayerView
Boolean

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

更多详情
LayerView
Boolean

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

更多详情
LayerView

移除对象拥有的句柄组。

更多详情
Accessor
Promise

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

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

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");
}
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(){Boolean}inherited

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

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

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

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

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){Promise}inherited

一旦创建了类的实例,就可以使用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
});

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