# Class: NavigationControls

## vcs.vcm.widgets.NavigationControls

Navigation-Controls Widget

#### new vcs.vcm.widgets.NavigationControls(options)

  Name | Type | Description
  --- | --- | ---
  `options` | vcs.vcm.widgets.NavigationControls.Options |

### Extends

- vcs.vcm.widgets.Widget

### Members

#### active{boolean}

#### className{string}

  class Name of the Object

#### initialized{boolean}

#### name{string}

  unique Name

#### values{vcs.vcm.widgets.NavigationControls.Values}

### Methods

#### activateNavigationMode(value)

  Activates the firstPersonMode or the overviewMode

  Name | Type | Description
  --- | --- | ---
  `value` | boolean | whether to activate the firstPersonMode or the overviewMode

#### compassPointerClicked(new_orientation)

  move in direction

  Name | Type | Description
  --- | --- | ---
  `new_orientation` | number |

#### compassPointerDown()

  Initial viewpoint is set, to be used in compasspointer clicked or dragged

#### compassPointerDragged(heading)

  move in direction

  Name | Type | Description
  --- | --- | ---
  `heading` | number |

#### dispose()

#### fovButtonPressed(direction)

  move in direction

  Name | Type | Description
  --- | --- | ---
  `direction` | string | 'north' or 'south' or 'west' or 'east'

#### fovButtonUp(direction)

  move in direction

  Name | Type | Description
  --- | --- | ---
  `direction` | string | 'north' or 'south' or 'west' or 'east'

#### getClassName(){string} inherited

  returns the class name of this object.

  Deprecated
    - Yes

  ##### Returns:

  className

#### getConfigObject(){Object} inherited

#### getId(){string} inherited

  returns the id of this object

  Deprecated
    - Yes

#### getName(){string} inherited

  returns the name of the Object, the name is either given by the config Object or a uuid is generated

  Deprecated
    - Yes

#### getSupportedMaps(){Array.<string>} inherited

  Returns the widgets supported maps

#### getValuesObject(){Object}

  Returns the object of values used for the ui to observe changes to the widgets state

#### isActive(){boolean} inherited

  returns the active state of the widget

  Deprecated
    - v3.6 use the property active directly

  ##### Returns:

  state of the widget

#### isInitialized(){boolean} inherited

  checks if the Widget is already initialized

  Deprecated
    - Yes

  ##### Returns:

  true if all requirements are there

#### isSupported(map){boolean} inherited

  returns true if this widget supports the given map. Should be overriden by the widget

  Name | Type | Description
  --- | --- | ---
  `map` | string | vcs.vcm.maps.Map | the map or className to check for support

#### moveButtonPressed(direction)

  move in direction

  Name | Type | Description
  --- | --- | ---
  `direction` | string | 'north' or 'south' or 'west' or 'east'

#### moveButtonUp(direction)

  move in direction

  Name | Type | Description
  --- | --- | ---
  `direction` | string | 'north' or 'south' or 'west' or 'east'

#### rotateAroundCenterPosition(cesiumMap, rotate)

  enables or disables continuous rotation around current ground position (3D only)

  Name | Type | Description
  --- | --- | ---
  `cesiumMap` | vcs.vcm.maps.Cesium | the map object on which to apply the rotation
  `rotate` | boolean | start/stop rotating

#### rotateButtonPressed(rotate)

  Rotate map

  Name | Type | Description
  --- | --- | ---
  `rotate` | string | 'rotateEast' or 'rotateWest'

#### rotateButtonUp(rotate)

  Stop rotating the map in naviagtionMode

  Name | Type | Description
  --- | --- | ---
  `rotate` | string | 'rotateEast' or 'rotateWest'

#### rotateCenter(viewpoint)

  Rotate around the center of a given viewpoint depending on this.rotationPerFrame.

  Name | Type | Description
  --- | --- | ---
  `viewpoint` | vcs.vcm.util.ViewPoint | the viewpoint to rotate around

#### rotateCenterClicked()

  starts/Stops rotatate around Center

#### setReferenceHeight(value)

  sets a new ReferenceHeight above Ground for the pedestrian Mode

  Name | Type | Description
  --- | --- | ---
  `value` | Number |

#### tiltButtonPressed(tilt)

  Tilt map

  Name | Type | Description
  --- | --- | ---
  `tilt` | string | 'tiltUp' or 'tiltDown'

#### tiltButtonUp(tilt)

  Stop the tilting in navigationMode

  Name | Type | Description
  --- | --- | ---
  `tilt` | string | 'tiltUp' or 'tiltDown'

#### zoomButtonPressed(zoomInOut)

  Zoom In or out

  Name | Type | Description
  --- | --- | ---
  `zoomInOut` | string | 'zoomIn' or 'zoomOut'

### Type Definitions

#### vcs.vcm.widgets.NavigationControls.Options{vcs.vcm.widgets.Widget.Options}

  ##### Properties:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `zoomFactor` | number | <optional> | 2 | sets the amount of zooming, inversely.
  `moveFactor` | number | <optional> | 1.5 | sets the distance when moving by keyboard or move-buttons, inversely.
  `tiltFactor` | number | <optional> | 10 | sets the degree the camera should change when the tilt button is clicked (in degrees)
  `walkModeMoveFactor` | number | <optional> | 1.0 | changes the movement speed in walkmode.
  `animationDuration` | number | <optional> | 0.5 | sets the animation duration for camera events in seconds.
  `animation` | boolean | <optional> | true | sets whether to animate camera events
  `showCompass` | boolean | <optional> | true | sets whether to show the compass or not
  `showZoomButtons` | boolean | <optional> | true | sets whether to show the zoom buttons or not
  `showTiltButtons` | boolean | <optional> | true | sets whether to show the tilt buttons or not
  `showHomeButton` | boolean | <optional> | true | sets whether to show the homebutton or not
  `pedestrianMode` | boolean | <optional> | true | sets whether to show the pedestrianMode Button or not
  `pedestrianModeReferenceHeight` | number | <optional> | 1.6 | sets the pedestrian mode default height (value in m), 1.6 is the average eyeHeight of humans in western europe
  `timePerRotation` | number | <optional> | 20 | sets the amount of time one complete rotation takes in seconds
  `obliqueMoveImage` | boolean | <optional> | true | whether to use keyboard arrows to move oblique images
  `obliqueMoveImageDirectionDeviation` | number | <optional> | Math.PI/4 | move deviation per key down

#### vcs.vcm.widgets.NavigationControls.Values{Object}

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `heading` | number |
  `walkmode` | boolean |
  `rotation` | boolean |
  `pedestrianMode` | boolean |
  `referenceHeight` | number | height for the pedestrian mode
  `active` | boolean |