Мне удалось получить название города с помощью GeoCoder, но иногда GPS возвращает значения, которые GetLocality не может распознать (возвращает «null»). Думаю, лучшее решение - получить ближайшее название города. Может ли кто-нибудь сказать мне, пожалуйста, как это сделать. Или, если есть еще одна альтернатива для ее решения, все в порядке.Как получить ближайшее название города по широте и долготе?
public void getCityName(double dLatitude, double dLongitude) throws IOException{
Geocoder gcd = new Geocoder(this, Locale.getDefault());
List<Address> addresses = gcd.getFromLocation(dLatitude, dLongitude, 1);
TextView cityname = (TextView)findViewById(R.id.city_name);
if (addresses.size() > 0) {
cityname.setText("" +addresses.get(0).getLocality() + "," + addresses.get(0).getCountryName());
}
}
Да, вы можете использовать google api для этого и запросить google и проанализировать json и получить адрес в соответствии с вашей долготой и широтой. –