
(function (factory) {
    if(typeof define === 'function' && define.amd) {
    //AMD
        define(['leaflet'], factory);
    } else if(typeof module !== 'undefined') {
    // Node/CommonJS
        module.exports = factory(require('leaflet'));
    } else {
    // Browser globals
        if(typeof window.L === 'undefined')
            throw 'Leaflet must be loaded first';
        factory(window.L);
    }
})(function (L) {

L.Control.Search.include({
	options: {
		geocoder: 'google',
		markerLocation: true,
		autoType: false,
		autoCollapse: true,
		minLength: 2
	},
/*	onAdd: function (map) {
		L.Control.Search.prototype.onAdd.call(this, map);
		console.log('Geocoder',this.options)
	},*/
	geocoders: {
/*		'google': {
			url: "//maps.googleapis.com/maps/api/geocode/json?key={key}&address={text}"
		},
		'nominatim': {
			    

	      format: 'json',
	      q: query,
	    });

    		"//nominatim.openstreetmap.org/search?"
		}*/
	}
});

});

@@ -708,29 +708,50 @@
 : %7B%0A
-/*%09%09'google': %7B%0A%09%09%09ur
+    /*%0A        'google': %7B%0A        %09urlTmp
 l: %22
@@ -824,52 +824,384 @@
 t%7D%22%0A
-%09%09%7D,%0A%09%09'nominatim': %7B%0A%09%09%09    %0A%0A%09      
+          //todo others%0A        %7D,%0A        'here': %7B%0A        %09urlTmpl: https://geocoder.ls.hereapi.com/6.2/geocode.json?apiKey=%7BapiKey%7D&searchtext=%7Btext%7D%22%0A          params: function(opts, text) %7B%0A            %0A            //opts is leaflet options input%0A            //text is input text searched%0A%0A            return %7B%0A              'apiKey': opts.apikey,%0A              '
 format
+'
 : 'j
@@ -1210,35 +1210,202 @@
 n',%0A
-%09
       
-q: query,%0A%09    %7D);%0A%0A
+        'q': text,%0A        %09%09%09'jsonp': 'herejsoncallback',%0A            %7D;%0A          %7D,%0A          callback: function(resp) %7B%0A              //TODO refact resp data%0A          %7D%0A        %09%0A    
     
@@ -1446,18 +1446,24 @@
 earch?%22%0A
-%09%09
+        
 %7D*/%0A%09%7D%0A%7D

Update leaflet-search-geocoder.js