This sample shows how to highlight features in a SceneLayer representing Esri offices.When the SceneLayerView finished updating we loop through all the loaded features and put them in a list. An event listener is added on each list item which zooms to the 3D extent of the feature and highlights it.
To highlight a feature, call the highlight method of the feature's corresponding layerView with the feature or its objectID as parameter.
// add event listener on each list itemli.addEventListener("click", function(event) {
var target = event.target;
// get objectId of the feature that we previously stored as a data attributevar objectId = parseInt(target.getAttribute("data-object-id"));
// create an extent query on the layer view that will return the 3D extent of the featurevar queryExtent = new Query({
objectIds: [objectId]
});
officeLayerView.queryExtent(queryExtent).then(function(result) {
// zoom to the extent of the feature; we use the expand method as we don't want to zoom very close to it view.goTo(result.extent.expand(7), { speedFactor: 0.5 });
});
// if any, remove the previous highlightsif (highlight) {
highlight.remove();
}
// highlight the feature with the returned objectId highlight = officeLayerView.highlight([objectId]);
});