Obtener país de coordenadas?

¿Cómo obtener el nombre del país en Android, si se conocen coordenadas geográficas? ¿Cómo hacerlo de la manera más sencilla?

Use debajo de la función para eso.

public void getAddress(double lat, double lng) { Geocoder geocoder = new Geocoder(HomeActivity.mContext, Locale.getDefault()); try { List<Address> addresses = geocoder.getFromLocation(lat, lng, 1); Address obj = addresses.get(0); String add = obj.getAddressLine(0); GUIStatics.currentAddress = obj.getSubAdminArea() + "," + obj.getAdminArea(); GUIStatics.latitude = obj.getLatitude(); GUIStatics.longitude = obj.getLongitude(); GUIStatics.currentCity= obj.getSubAdminArea(); GUIStatics.currentState= obj.getAdminArea(); add = add + "\n" + obj.getCountryName(); add = add + "\n" + obj.getCountryCode(); add = add + "\n" + obj.getAdminArea(); add = add + "\n" + obj.getPostalCode(); add = add + "\n" + obj.getSubAdminArea(); add = add + "\n" + obj.getLocality(); add = add + "\n" + obj.getSubThoroughfare(); Log.v("IGA", "Address" + add); // Toast.makeText(this, "Address=>" + add, // Toast.LENGTH_SHORT).show(); // TennisAppActivity.showDialog(add); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show(); } } 

Añadir debajo de permiso a su manifiesto

 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

Aqui tienes

 Geocoder gcd = new Geocoder(context, Locale.getDefault()); List<Address> addresses = gcd.getFromLocation(lat, lng, 1); if (addresses.size() > 0) { String countryName=addresses.get(0).getCountryName(); } 

utilizar esta

 try { Geocoder geo = new Geocoder(this.getApplicationContext(), Locale.getDefault()); List<Address> addresses = geo.getFromLocation(location.getLatitude(), location.getLongitude(), 1); if (addresses.isEmpty()) { placeName.setText("Waiting for Location"); } else { if (addresses.size() > 0) { placeName.setText(addresses.get(0).getFeatureName() + ", " + addresses.get(0).getLocality() +", " + addresses.get(0).getAdminArea() + ", " + addresses.get(0).getCountryName()); } } } catch(Exception e){ Toast.makeText(this, "No Location Name Found", 600).show(); } 

Utilizar esto en el archivo de manifiesto

 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 

Cómo lo hice recientemente fue leer los datos de la URL de la API Web y analizar el JSON.

Un ejemplo de URL para el punto (40.714224, -73.961452) es:

 http://maps.google.com/maps/geo?q=40.714224,-73.961452&output=json&oe=utf8&sensor=true_or_false&key=your_api_key 

Que produce la siguiente salida:

 { "name": "40.714224,-73.961452", "Status": { "code": 200, "request": "geocode" }, "Placemark": [ { "id": "p1", "address": "285 Bedford Ave, Brooklyn, NY 11211, USA", "AddressDetails": { "Accuracy" : 8, "Country" : { "AdministrativeArea" : { "AdministrativeAreaName" : "NY", "SubAdministrativeArea" : { "Locality" : { "DependentLocality" : { "DependentLocalityName" : "Williamsburg", "PostalCode" : { "PostalCodeNumber" : "11211" }, "Thoroughfare" : { "ThoroughfareName" : "285 Bedford Ave" } }, "LocalityName" : "Brooklyn" }, "SubAdministrativeAreaName" : "Kings" } }, "CountryName" : "USA", "CountryNameCode" : "US" } }, "ExtendedData": { "LatLonBox": { "north": 40.7154779, "south": 40.7127799, "east": -73.9600584, "west": -73.9627564 } }, "Point": { "coordinates": [ -73.9614074, 40.7141289, 0 ] } } ] } 

Considero que GSON es bastante bueno para analizar JSON en Android.

Echa un vistazo al enlace

Creo que te ayudará.

Gracias.

  • Comprueba si está habilitado 'Acceso a mi ubicación' - Android
  • La ubicación GPS del emulador de Android da tiempo incorrecto
  • Android gps postion precisión círculo
  • Android "gps requiere ACCESS_FINE_LOCATION" error, aunque mi archivo de manifiesto contiene este
  • El acceso al GPS no funciona. La aplicación utiliza la red para obtener ubicación
  • ¿Cómo enviar mi ubicación (longitud y latitud) como una respuesta sms a otra persona?
  • Cómo crear mapas que detectan la ubicación automática en React-Native
  • saltando la ubicación en google maps por gps. (distancia imprecisa)
  • Cómo obtener la ubicación GPS actual en Android
  • Determinar la velocidad de un vehículo usando GPS en android
  • Android Fake GPS aplicaciones de ubicación ya no funcionan
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.