views:

40

answers:

2

Hi, I have an application where I try to get address of a location based on the latitude,longitude coordinates.When I try to print all the address of particular coordinates , I am getting only single address. IS there any way to get the list of all addresses for the coordinates supplied . My code snippet is as below:

Where locationLatitude,locationLongitude are of type String which are converted to doubles

*List addresses = geoCoder.getFromLocation(Double .parseDouble(locationLatitude), Double.parseDouble(locationLongitude), 1); StringBuffer addressAsString = new StringBuffer(""); if(!addresses.isEmpty()){ for (int i = 0; i < addresses.get(0).getMaxAddressLineIndex(); i++) addressAsString.append(addresses.get(0).getAddressLine(i) + "\n"); return addressAsString.toString() ;*

I will be waiting for any reply. Thanks in Advance.

+1  A: 

You must read the api carefully:

Public Methods List getFromLocation(double latitude, double longitude, int maxResults)

Returns an array of Addresses that are known to describe the area immediately surrounding the given latitude and longitude.

If you change maxResults parameter from 1 to 10, then 10 results will returned if there has.

List addresses = geoCoder.getFromLocation(Double .parseDouble(locationLatitude), Double.parseDouble(locationLongitude), 10); 
imcaptor
yes, that's right. but he's also not even iterating through 'addresses' yet; even though he defined it as a List already.
Mathias Lin
A: 

Loop through all your addresses:

List addresses = geoCoder.getFromLocation(Double .parseDouble(locationLatitude), Double.parseDouble(locationLongitude), 10); 

for (Address addr:List addresses) {

  for (int i = 0; i < addr.getMaxAddressLineIndex(); i++) {
  // your previous code here
  }
}
Mathias Lin