I need to determine the address for a geo location, so I used GeoCoder and Address, I tried to print an Address object and got the following:
(for privacy reason, I used some fake data, but the data I received on my device is real)
Address[addressLines=[0:"123 ABC St",1:"Melbourne VIC 1234",2:"Australia"],feature=123,admin=Victoria,sub-admin=null,locality=Melbourne,thoroughfare=ABC St,postalCode=1234,countryCode=AU,countryName=Australia,hasLatitude=true,latitude=-123.321,hasLongitude=true,longitude=123.321,phone=null,url=null,extras=null]
Now I'm wondering, can I assume that:
- address line index 0 is always the street address?
- and index 1 and to is the suburb, state, postcode pair, and index 2 is the country?
- "feature" is actually the street number(ie 123)?
- "admin" is state?
If the format is NOT fixed, how do I get address information? Thanks!
I don't think that the format is fixed and you should not rely on the array indexes. From the docs:
The geocoding service is implemented by the Google Maps service which runs in the backgroind I believe. You should use Address class to fetch the elements of the address that you require.
Here is a snippet that may help.
-> using GeoCoder
Please keep in mind, GeoCoder is NOT implemented in all Android devices :| in this case, you can use Google API directly
-> http://code.google.com/apis/maps/documentation/geocoding/