You can navigate a scene view (a 3D map):
- Using built-in navigation (described on this page), such as panning, zooming, and changing pitch
- By programmatically changing camera position
Built-in navigation
The scene view has a number of built-in gestures that allow you to navigate a scene (3D) using touch screen, mouse, or keyboard.
Basic navigation
Basic navigation for scene views is the same as navigation for map views:
Map navigation | Touch action | Mouse action | Key action |
---|---|---|---|
Pan the map | Touch, hold, and drag on the map | Press, hold, and drag the left mouse button | Press the left (pan west), right (pan east), up (pan north), or down (pan south) arrows |
Zoom in (+) or zoom out (-) with animation | Pinch open (+) or pinch close (-) on the map | Scroll the mouse wheel forward (+) or backward (-) | Press the + / = key for in Press the - / _ key for out |
Zoom in to the next level of detail or by a factor of 2 | Double tap on the map | Double-click the left mouse button | Press the + / = key |
Zoom out to the next level of detail or by a factor of 2 | Single tap with two fingers simultaneously | Double-click of right mouse button | Press the - / _ key |
Rotate | Two-finger pinch and twist fingers to rotate the map or scene | On scenes only, press and hold while dragging (left to right) the right mouse button | Press the 'a' (rotate west) or 'd' (rotate east) keys |
Set viewpoint to north | N/A | N/A | Press the 'n' key |
Advanced navigation
Scene views have additional navigation not found in map views:
Scene navigation | Touch action | Mouse action | Key action |
---|---|---|---|
Pitch: increase or decrease | Touch, hold and drag up (increase) or down (decrease) | Press, hold and drag the right mouse button up (increase) or down (decrease) | Press the 'w' (increase) or 's' (decrease) keys. Press 'p' to set pitch to 0. |
Elevation: increase or decrease | N/A | N/A | Press the 'u' (increase) or 'j' (decrease) keys |
Programmatically change camera position
Your applications can programmatically navigate a 3D scene by creating a new camera and setting it to the scene view. A camera defines the location from which you are viewing the scene.
The camera is shown in this image for illustration purposes; when you set camera settings (location, pitch), think of the camera class 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
const Camera sceneCamera(53.06, -4.04, 1289.0, 295.0, 71.0, 0.0);
Now you have a new camera you can apply to your scene view. You can apply it immediately using set
as shown in the code below, or the camera can be animated to the new position using one of the asynchronous methods.
m_sceneView->setViewpointCameraAsync(sceneCamera);