code: function(options) {
    SearchProviderViewModel.call(this);
  
    options = defaultValue(options, defaultValue.EMPTY_OBJECT);
    this.terria = options.terria;
  
    var url = defaultValue(
      options.url,
      this.terria.configParameters.gnafSearchUrl
    );
  
    this.name = NAME;
    this.gnafApi = defaultValue(
      options.gnafApi,
      new GnafApi(this.terria.corsProxy, url)
    );
    this._geocodeInProgress = undefined;
    this.flightDurationSeconds = defaultValue(options.flightDurationSeconds, 1.5);
  }
docs: Search provider that uses the Data61 Elastic Search GNAF service to look up addresses.
  
  @param options.terria Terria instance
  @param [options.gnafApi] The GnafApi object to query - if none is provided one will be created using terria.corsProxy
  and the default settings.
  @param [options.flightDurationSeconds] The number of seconds for the flight animation when zooming to new results.
  @constructor