Apa yang Anda cari disebut geocoding terbalik . Google menyediakan layanan geocoding balik sisi server melalui Google Geocoding API , yang seharusnya dapat Anda gunakan untuk proyek Anda.
Seperti inilah tanggapan terhadap permintaan berikut akan terlihat:
http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false
Tanggapan:
{
"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[] ...
Anda juga dapat memilih untuk menerima respons dalam xml daripada json, cukup dengan mengganti json untuk xml di URI permintaan:
http://maps.googleapis.com/maps/api/geocode/xml?latlng=40.714224,-73.961452&sensor=false
Setahu saya, Google juga akan mengembalikan nama yang sama untuk komponen alamat, terutama untuk nama tingkat tinggi seperti nama negara dan nama kota. Namun demikian, perlu diingat bahwa meskipun hasilnya sangat akurat untuk sebagian besar aplikasi, Anda masih dapat menemukan kesalahan ejaan atau hasil yang ambigu.