Reverse Geocoding
Reverse Geocoding refers to the conversion of a location's geographic
coordinates into a human-readable street address. The Maps SDK for iOS
includes a class called the
GMSGeocoder
class, which includes the
reverseGeocodeCoordinate
member function which you can use to perform the conversion. This method takes
location coordinates in an instance of a
CLLocationCoordinate2D
object, and returns a human-readable street address in an instance of the
GMSAddress
class.
The influence of language preferences
The geocoder is optimized to provide human readable street addresses. To achieve
this, it returns street addresses in the local language, transliterated to text
that is readable by the user (if necessary). All other addresses are returned in
the preferred language.
Address components are returned in the same language, which is chosen from the
first component.
If a name is not available in the preferred language, then the geocoder uses
the closest match.
Guarantees regarding address components
Google makes no guarantee regarding address components. Address structure
changes from country to country, and even within countries.
You can expect address components to contain only what is relevant for postal
addresses, and little more.
In particular,
locality
is neither guaranteed to be always present, nor is
it supposed to always represent the
city
.
For an example of address components in action, see
Place Autocomplete Address Form
.
Sorting the results
Results aren't sorted by distance, and the order is subject to change.
Reverse geocoding is an estimate
The geocoder attempts to find the closest addressable location within a
particular tolerance.
If the geocoder can't find a match, then it returns no results.
For more information, see
Geocoding Addresses Best Practices
and also the
Geocoding FAQ
.