Identify features in a scene to select.
Use case
You can select features to visually distinguish them with a selection color or highlighting. This can be useful to demonstrate the physical extent or associated attributes of a feature, or to initiate another action such as centering that feature in the scene view.
How to use the sample
Click on a building in the scene layer to select it. Deselect buildings by clicking away from the buildings.
How it works
- Create an
ArcGISSceneLayer
passing in the URL to a scene layer service. - Wait for the user to tap with the
sceneView.GeoViewTapped
event and get the tapped screen point. - Call
sceneView.IdentifyLayersAsync(sceneLayer, screenPoint, tolerance, false, 1)
to identify features in the scene. - From the resulting
IdentifyLayerResult
, get the list of identifiedGeoElements
withresult.GeoElements
. - Get the first element in the list, checking that it is a feature, and call
sceneLayer.SelectFeature(feature)
to select it.
Relevant API
- ArcGISSceneLayer
- Scene
- SceneView
About the data
This sample shows a Brest, France Scene hosted on ArcGIS Online.
Tags
3D, Brest, buildings, identify, model, query, search, select
Sample Code
<UserControl x:Class="ArcGISRuntime.WinUI.Samples.SceneLayerSelection.SceneLayerSelection"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:esriUI="using:Esri.ArcGISRuntime.UI.Controls">
<Grid>
<esriUI:SceneView x:Name="MySceneView" GeoViewTapped="SceneViewTapped" />
<Border Style="{StaticResource BorderStyle}">
<TextBlock FontWeight="SemiBold"
Text="Tap to select buildings."
TextAlignment="Center" />
</Border>
</Grid>
</UserControl>