var geocoder = new esri.dijit.Geocoder({ map: map, autoComplete: true, arcgisGeocoder: { url: "http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer", name: "Esri World Geocoder", placeholder: "Find addresses", suffix: " Portland, OR", searchExtent: searchExtent, sourceCountry: "USA" } //geocoders: geocoders, //arcgisGeocoder: true }, "address"); geocoder.startup(); dojo.connect(geocoder, "onSelect", showR);
Solved! Go to Solution.
connect.connect(myGeocoder, "onAutoComplete", function(results){ // modify results var newResults = results; myGeocoder.set('results', newResults); });
you could probably use the widget event onAutoComplete to loop through the results and compare them in all caps to remove duplicates, but i'd probably be pretty cool if we did that in the widget source code instead.
connect.connect(myGeocoder, "onAutoComplete", function(results){ // modify results var newResults = results; myGeocoder.set('results', newResults); });
I think you should be able to do something like:connect.connect(myGeocoder, "onAutoComplete", function(results){ // modify results var newResults = results; myGeocoder.set('results', newResults); });
dojo.connect(geocoder, "onAutoComplete", function (results) { var length = results.results.length; var testArray = []; var newResults = []; for (var i = 0; i < length; i++) { switch(i) { case 0: testArray.push(results.results.name.toUpperCase()); newResults.push(results.results); break; default: var name = results.results.name; if (dojo.indexOf(testArray, name.toUpperCase()) === -1) { newResults.push(results.results); } } } geocoder.set('results', newResults); });