Google Maps offers resolution functionality via GeoCode API ; you can combine it with Fusion Tables via FusionTablesLayer .
use the following endpoint for searches:
http://maps.googleapis.com/maps/api/geocode/json?latlng=[Latitude],[Longitude]&sensor=false&language=pt
For results in Brazil, the key locality
indicates neighborhood, administrative_area_level_2
city and administrative_area_level_1
state.
Example:
link
It will return a JSON containing the following block:
"address_components" : [
{
"long_name" : "4288-4572",
"short_name" : "4288-4572",
"types" : [ "street_number" ]
},
{
"long_name" : "Estrada Guriri",
"short_name" : "Estr. Guriri",
"types" : [ "route" ]
},
{
"long_name" : "Cabo Frio",
"short_name" : "Cabo Frio",
"types" : [ "locality", "political" ]
},
{
"long_name" : "Cabo Frio",
"short_name" : "Cabo Frio",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "Rio de Janeiro",
"short_name" : "RJ",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "Brasil",
"short_name" : "BR",
"types" : [ "country", "political" ]
}
To obtain the states that make up the country:
link