Represents the LayerView of a BuildingSceneLayer after it has been added to a Map in a SceneView. BuildingSceneLayerView is responsible for streaming and rendering a BuildingSceneLayer's features in the SceneView.
The BuildingSceneLayerView contains a list of sublayer views for all the component sublayers of a BuildingSceneLayer. The BuildingSceneLayerView doesn't have query methods. To query the features loaded on the client, use the query methods on the component sublayer views:
// 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);
});
});
});
The BuildingSceneLayerView can be used to highlight features in any of the component sublayers. The highlight method takes as arguments the features that should be highlighted:
// 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);
}
});
});
- See also:
Property Overview
Name | Type | Summary | Class | |
---|---|---|---|---|
String | more details The name of the class. | more details | Accessor | |
BuildingSceneLayer | more details The layer being viewed. | more details | BuildingSceneLayerView | |
Boolean | more details Indicates if the spatialReference of the MapView is supported by the layer view. | more details | LayerView | |
Collection<BuildingComponentSublayerView> | more details Collection of sublayer views for all the component sublayers of the BuildingSceneLayer. | more details | BuildingSceneLayerView | |
Boolean | more details Value is | more details | LayerView | |
Boolean | more details Value is | more details | LayerView | |
Boolean | more details When | more details | LayerView |
Property Details
-
The name of the class. The declared class name is formatted as
esri.folder.className
.
-
layer BuildingSceneLayerreadonly
-
The layer being viewed.
-
Since: ArcGIS API for JavaScript 4.23
-
Indicates if the spatialReference of the MapView is supported by the layer view. When
false
layer view will be suspended.- See also:
-
sublayerViews Collection<BuildingComponentSublayerView>readonly
-
Collection of sublayer views for all the component sublayers of the BuildingSceneLayer.
Example:view.whenLayerView(buildingSceneLayer).then(function(buildingSceneLayerView) { console.log(buildingSceneLayerView.sublayerViews); });
-
Value is
true
if the layer is suspended (i.e., layer will not redraw or update itself when the extent changes).- See also:
-
Value is
true
when the layer is updating; for example, if it is in the process of fetching data.- Default Value:false
-
When
true
, the layer is visible in the view. Value of this property is inherited from thelayer.visible
unless the developer overrides it. ThelayerView.visible
will take precedence overlayer.visible
if both properties are set.- Default Value:true
Method Overview
Name | Return Type | Summary | Class | |
---|---|---|---|---|
Handle | more details Highlights the given feature(s). | more details | BuildingSceneLayerView | |
Boolean | more details
| more details | LayerView | |
Boolean | more details
| more details | LayerView | |
Boolean | more details
| more details | LayerView | |
more details Adds one or more handles which are to be tied to the lifecycle of the object. | more details | Accessor | ||
Promise | more details
| more details | LayerView |
Method Details
-
highlight(target){Handle}
-
Highlights the given feature(s).
Parameter:optional The feature(s) to highlight. The graphics that are passed to this function must originate from one of the component sublayers of the BuildigSceneLayer.
Returns:Type Description Handle Returns a highlight handler with a remove()
method that can be called to remove the highlight.Example:// 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()
may be used to verify if creating an instance of the class is fulfilled (either resolved or rejected). If it is fulfilled,true
will be returned.Returns:Type Description Boolean Indicates whether creating an instance of the class has been fulfilled (either resolved or rejected).
-
isRejected()
may be used to verify if creating an instance of the class is rejected. If it is rejected,true
will be returned.Returns:Type Description Boolean Indicates whether creating an instance of the class has been rejected.
-
isResolved()
may be used to verify if creating an instance of the class is resolved. If it is resolved,true
will be returned.Returns:Type Description Boolean Indicates whether creating an instance of the class has been resolved.
-
own(handleOrHandles)inheritedSince: ArcGIS API for JavaScript 4.24
-
Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.
// Manually manage handles const handle = reactiveUtils.whenOnce(() => !view.updating) .then(() => { wkidSelect.disabled = false; }); handle.remove(); // Assign a handle using own() this.own(reactiveUtils.whenOnce(() => !view.updating) .then(() => { wkidSelect.disabled = false; }));
Parameter:handleOrHandles WatchHandle|WatchHandle[]Handles marked for removal once the object is destroyed.
-
when()
may be leveraged once an instance of the class is created. This method takes two input parameters: acallback
function and anerrback
function. Thecallback
executes when the instance of the class loads. Theerrback
executes if the instance of the class fails to load.Parameters:callback FunctionoptionalThe function to call when the promise resolves.
errback FunctionoptionalThe function to execute when the promise fails.
Returns:Type Description Promise Returns a new promise for the result of callback
that may be used to chain additional functions.Example:// 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 });