# GeocoderViewModel

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

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

#### static Cesium.GeocoderViewModel.flyToDestination : Geocoder.DestinationFoundFunction
Widgets/Geocoder/GeocoderViewModel.js 508

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

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

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

Default Value: `true`

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

Gets the event triggered on flight completion.

#### destinationFound : Geocoder.DestinationFoundFunction
Widgets/Geocoder/GeocoderViewModel.js 155

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

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

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 171

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

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

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 247

Gets the scene to control.

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

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

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

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 271

Gets the currently selected geocoder search suggestion

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

Gets the list of geocoder search suggestions

### Methods

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

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