Source: searchers/local/searchableGeoJson.js

/** 
 *  
 * @class Searches a geojson featurecollection
 * @extends Septima.Search.SearchableData
 * @constructs Septima.Search.SearchableGeoJson
 * @param {Object} options SearchableGeoJson expects these properties:
 * @param options.data {object} featurecollection or a function that returns a featurecollection.
 * @param options.searchProperties {string[]} Array of property names in the data array to search in. If not added, all properties will be used
 * @param options.displaynameProperty {string} The name of the property in the data array that should be used as displayname
 * @param options.descriptionProperty {string} The name of the property in the data array that should be used as description
 * @param options.useAND {boolean} Use AND and not OR when multiple terms is added by the user. Default true
 */
Septima.Search.SearchableGeoJson = Septima.Class (Septima.Search.SearchableData, /**  @lends Septima.Search.SearchableGeoJson# */{
	
    getData: function(){
    	return Septima.Search.SearchableData.prototype.getData.apply(this).features;
    },

    getDisplayname: function (feature) {
		return Septima.Search.SearchableData.prototype.getDisplayname.apply(this, [feature.properties]);
	},
	
	getDescription: function (feature) {
		return Septima.Search.SearchableData.prototype.getDescription.apply(this, [feature.properties]);
	},

    match: function (potentialHit, str) {
    	var feature = potentialHit.object;
    	potentialHit.object = feature.properties;
    	var matchResult = Septima.Search.SearchableData.prototype.match.apply(this, [potentialHit, str]);
    	potentialHit.object = feature;
    	return matchResult;
    },
    
    CLASS_NAME: 'Septima.Search.SearchableGeoJson'

});