С помощью Google Geocoder вы сможете добиться того, что вы ищете. Он возвращает объект Address
, содержащий всю информацию о местоположении в latitude
и longitude
, которые вы передали ему. Пример того, как его можно использовать, можно найти ниже:
if (Geocoder.isPresent()) {
Geocoder gc = new Geocoder(context);
List<Address> addresses = gc.getFromLocation(latitude, longitude, 1);
// do stuff with addresses
}
Если он не вернет вам хороший Address
объект, который вы все еще можете попробовать с помощью метода URL:
URL url = new URL("http://maps.googleapis.com/maps/api/geocode/json?latlng=" + String.valueOf(latitude) + "," + String.valueOf(longitude) + "&sensor=false&language=" + Locale.getDefault().getLanguage());
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
InputStream in = connection.getInputStream();
JSONObject responseData;
try {
Scanner s = new Scanner(in).useDelimiter("\\A");
try {
String text = s.next();
responseData = new JSONObject(text);
} finally {
s.close();
}
} finally {
in.close();
}
// Do stuff with responseData, all the usefull informations are in this payload
работал отлично. благодаря – Benedict