# GeocoderViewModel

#### new Cesium.GeocoderViewModel(options)
Widgets/Geocoder/GeocoderViewModel.js 55

The view model for the `Geocoder` widget.

Name | Type | Description
--- | --- | ---

`options`

Object

Object with the following properties:

Name | Type | Default | Description
--- | --- | --- | ---
`scene` | Scene |  | The Scene instance to use.
`geocoderServices` | Array.<GeocoderService> |  | optional Geocoder services to use for geocoding queries. If more than one are supplied, suggestions will be gathered for the geocoders that support it, and if no suggestion is selected the result from the first geocoder service wil be used.
`flightDuration` | Number |  | optional The duration of the camera flight to an entered location, in seconds.
`destinationFound` | Geocoder~DestinationFoundFunction | `GeocoderViewModel.flyToDestination` | optional A callback function that is called after a successful geocode. If not supplied, the default behavior is to fly the camera to the result destination.

### Members

#### staticCesium.GeocoderViewModel.flyToDestination : Geocoder~DestinationFoundFunction
Widgets/Geocoder/GeocoderViewModel.js 533

A function to fly to the destination found by a successful geocode.

#### autoComplete : Boolean
Widgets/Geocoder/GeocoderViewModel.js 173

True if the geocoder should query as the user types to autocomplete

Default Value: `true`

#### complete : Event
Widgets/Geocoder/GeocoderViewModel.js 259

Gets the event triggered on flight completion.

#### destinationFound : Geocoder~DestinationFoundFunction
Widgets/Geocoder/GeocoderViewModel.js 179

Gets and sets the command called when a geocode destination is found

#### flightDuration : Number|undefined
Widgets/Geocoder/GeocoderViewModel.js 235

Gets or sets the the duration of the camera flight in seconds. A value of zero causes the camera to instantly switch to the geocoding location. The duration will be computed based on the distance when undefined.

Default Value: `undefined`

#### isSearchInProgress : Boolean
Widgets/Geocoder/GeocoderViewModel.js 195

Gets a value indicating whether a search is currently in progress. This property is observable.

#### keepExpanded : Boolean
Widgets/Geocoder/GeocoderViewModel.js 166

Gets or sets a value indicating if this instance should always show its text input field.

Default Value: `false`

#### scene : Scene
Widgets/Geocoder/GeocoderViewModel.js 271

Gets the scene to control.

#### search : Command
Widgets/Geocoder/GeocoderViewModel.js 283

Gets the Command that is executed when the button is clicked.

#### searchText : String
Widgets/Geocoder/GeocoderViewModel.js 208

Gets or sets the text to search for. The text can be an address, or longitude, latitude, and optional height, where longitude and latitude are in degrees and height is in meters.

#### selectedSuggestion : Object
Widgets/Geocoder/GeocoderViewModel.js 295

Gets the currently selected geocoder search suggestion

#### suggestions : Array.<Object>
Widgets/Geocoder/GeocoderViewModel.js 307

Gets the list of geocoder search suggestions

### Methods

#### destroy()
Widgets/Geocoder/GeocoderViewModel.js 318

Destroys the widget. Should be called if permanently removing the widget from layout.