Quello che stai cercando si chiama reverse geocoding. Google fornisce un servizio di geocoding inverso sul lato server tramite lo Google Geocoding API, che dovresti essere in grado di utilizzare per il tuo progetto.
Questa è come una risposta alla seguente richiesta sarà simile:
http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false
Risposta:
{
"status": "OK",
"results": [ {
"types": [ "street_address" ],
"formatted_address": "275-291 Bedford Ave, Brooklyn, NY 11211, USA",
"address_components": [ {
"long_name": "275-291",
"short_name": "275-291",
"types": [ "street_number" ]
}, {
"long_name": "Bedford Ave",
"short_name": "Bedford Ave",
"types": [ "route" ]
}, {
"long_name": "New York",
"short_name": "New York",
"types": [ "locality", "political" ]
}, {
"long_name": "Brooklyn",
"short_name": "Brooklyn",
"types": [ "administrative_area_level_3", "political" ]
}, {
"long_name": "Kings",
"short_name": "Kings",
"types": [ "administrative_area_level_2", "political" ]
}, {
"long_name": "New York",
"short_name": "NY",
"types": [ "administrative_area_level_1", "political" ]
}, {
"long_name": "United States",
"short_name": "US",
"types": [ "country", "political" ]
}, {
"long_name": "11211",
"short_name": "11211",
"types": [ "postal_code" ]
} ],
"geometry": {
"location": {
"lat": 40.7142298,
"lng": -73.9614669
},
"location_type": "RANGE_INTERPOLATED",
"viewport": {
"southwest": {
"lat": 40.7110822,
"lng": -73.9646145
},
"northeast": {
"lat": 40.7173774,
"lng": -73.9583193
}
}
}
},
... Additional results[] ...
Si può anche scegliere di ricevere la risposta in XML invece di json, semplicemente sostituendo json per xml nell'URI della richiesta:
http://maps.googleapis.com/maps/api/geocode/xml?latlng=40.714224,-73.961452&sensor=false
Per quanto ne so, Google sarà anche restituire lo stesso nome per i componenti di indirizzo, in particolare per i nomi di alto livello come i nomi dei paesi e nomi di città. Tuttavia, tieni presente che mentre i risultati sono molto accurati per la maggior parte delle applicazioni, potresti comunque trovare l'errore di ortografia occasionale o il risultato ambiguo.
Hai avuto provincia? –