Aradığınız şeye ters coğrafi kodlama denir . Google, projeniz için kullanabilmeniz gereken Google Geocoding API aracılığıyla sunucu tarafında ters coğrafi kodlama hizmeti sağlar .
Aşağıdaki isteğe yanıt şu şekilde görünür:
http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false
Tepki:
{
"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[] ...
Ayrıca, istek URI'sinde xml yerine json koyarak yanıtı json yerine xml biçiminde almayı da seçebilirsiniz:
http://maps.googleapis.com/maps/api/geocode/xml?latlng=40.714224,-73.961452&sensor=false
Bildiğim kadarıyla Google, özellikle ülke adları ve şehir adları gibi üst düzey adlar için adres bileşenleri için aynı adı döndürecektir. Yine de, çoğu uygulama için sonuçlar çok doğru olsa da, ara sıra yazım hatası veya belirsiz sonucu bulabileceğinizi unutmayın.