I develop an Android app. I want to create a search system on GoogleMap using SearchView. I want to get multiple place names from the entered string (as in the original search on Google Maps), but Geocoder always returns a List with a single Address.
How I can solve this problem?
SearchView searchView=(SearchView)findViewById(R.id.search);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String s) {
return true;
}
@Override
public boolean onQueryTextChange(String s) {
try {
Geocoder geocoder=new Geocoder(getApplicationContext());
List<Address> addresses = geocoder.getFromLocationName(s, 10);
String[] addresses_string = new String[addresses.size()];
for(int i=0;i<addresses.size();i++)
{
addresses_string[i]=addresses.get(i).getAddressLine(0);
}
ArrayAdapter<String> a=new ArrayAdapter<String>(getApplicationContext(),R.layout.record,addresses_string);
ListView list=(ListView)findViewById(R.id.list);
list.setAdapter(a);
}
catch (Exception e)
{...}
return true;
}
});