Skip to content

You can navigate scene views (SceneView or LocalSceneView) by:

Built-in navigation

Scene views have a number of built-in gestures that allow you to navigate a scene.

Basic navigation

Navigation for scene views is the same as navigation for a map view. The following table summarizes the built-in navigation capabilities of the SceneView and LocalSceneView:

NavigationUser Action
Zoom in                                                                        Two-pointer pinch open
Single-pointer double-tap
Zoom outTwo-pointer pinch close
Two-pointer single-tap
Continuous zoom in / outSingle-pointer double-tap, ending in a vertical up/down drag      
Move/PanSingle-pointer drag or flick
RotateTwo-pointer rotate

Advanced navigation

Scene views have additional navigation not found in a map view:

NavigationUser Action
Tilt the scene                                                               Two-pointer up-down drag (vertically aligned on the scene view)

Programmatically change camera position

Your applications can programmatically navigate a 3D scene by creating a new camera and setting it to the view you are working with. A camera defines the location from which you are viewing the scene.

Camera position for a scene view

The camera is shown in this image for illustration purposes; when you set camera settings (location, pitch), think of the camera class as a real-life camera you're adjusting the position of.

Set the camera

For example, to point the camera to toward the Snowdon mountainside, use these values:

  • For 3D location, use 53.06 latitude, -4.04 longitude, 1289 meters above sea level
  • For heading, use 295 degrees
  • For pitch, use 71 degrees
  • For roll, use 0 degrees
Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
            val snowdonCamera = Camera(
                latitude = 53.06,
                longitude = -4.04,
                altitude = 1289.0,
                heading = 295.0,
                pitch = 71.0,
                roll = 0.0
            )
Surface elevation applied to a scene

You now have a new camera to apply to the scene view. You can apply it immediately using setViewpointCamera for a SceneView, or the camera can be animated to the new position using one of the asynchronous methods.

Use dark colors for code blocksCopy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
            val sceneViewProxy = remember { SceneViewProxy() }

            SceneView(
                modifier = Modifier.fillMaxSize(),
                // Pass the map to the Composable SceneView.
                arcGISScene = scene,
                // Pass the scene view proxy to the Composable SceneView.
                sceneViewProxy = sceneViewProxy
            )
            LaunchedEffect(Unit) {
                sceneViewProxy.setViewpointCamera(snowdonCamera)
            }

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.