Come ottenere il nome del paese in Android, Se si conoscono le coordinate geografiche? Come renderlo il modo più semplice?Ottieni paese dalle coordinate?
14
A
risposta
13
Usa sotto funzione per questo.
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();
}
}
Aggiungere seguito permesso alla manifesta
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
+0
Il tuo codice ha un bug. A volte, da 'lat' e' lng', non hai un indirizzo. Il che significa che 'address.get (0)' solleva l'eccezione 'IndexOutOfBound'. – allenlsy
24
Qui si va
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();
}
3
uso questo
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();
}
uso questo file manifesto
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
2
come ho fatto di recente è stato quello di leggere il dati dall'URL dell'API Web e analisi il JSON.
Un esempio di URL per il punto (40,714,224 mila, -73,961452) è:
http://maps.google.com/maps/geo?q=40.714224,-73.961452&output=json&oe=utf8&sensor=true_or_false&key=your_api_key
che produce il seguente output:
{
"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 ]
}
} ]
}
trovo GSON di essere abbastanza buono per il parsing di JSON in Android .
Problemi correlati
- 1. Nome del paese per le coordinate GPS
- 2. CAP/Coordinate Paese a Geo
- 3. Ottieni coordinate GPS: Android
- 4. Crea array 2D Numpy dalle coordinate
- 5. Come ottenere la città dalle coordinate?
- 6. C# - Ottieni paese da latitudine/longitudine senza API
- 7. Ottieni fuso orario/paese da iPhone
- 8. Ottieni fuso orario per Paese e regione
- 9. Ottieni Errno dalle richieste Python ConnectionError?
- 10. Tracciare una sfera colorata dalle coordinate cartesiane in PyMOL
- 11. E 'possibile ottenere un indirizzo dalle coordinate usando google maps?
- 12. Ottieni le coordinate dello schermo dell'elemento DOM
- 13. ottieni le coordinate cliccando sulla mappa (openstreetmaps)
- 14. Ottieni il nome del paese tradotto da un codice paese di 2 cifre in Symfony2/Twig?
- 15. Ottieni il codice del paese dal nome del paese in IOS
- 16. Ottieni oggetto CultureInfo dal nome del paese o dall'oggetto RegionInfo
- 17. Ottieni il fuso orario predefinito per un Paese (tramite CultureInfo)
- 18. Ottieni un paese per un determinato fuso orario Java
- 19. Ottieni informazioni sulla regione in base al nome del paese?
- 20. Ottieni il continente di un paese in C#
- 21. Android Ottieni paese Emoji Flag utilizzando le impostazioni internazionali
- 22. Ottieni il campo chiave esterna dalle associazioni in Rails
- 23. Ottieni l'output dalle scansioni nella shell di hbase
- 24. Ottieni mediana dalle serie numeriche usando Apache Commons Math
- 25. Converti coordinate GPS in coordinate coordinate
- 26. Ottieni le coordinate di un evento touch su Android
- 27. Ottieni nuova posizione di coordinate dopo la rotazione con Matrix
- 28. Ottieni le coordinate del gruppo svg su trascinamento con snap.svg
- 29. Ottieni tutte le coordinate in pixel tra 2 punti
- 30. Google Maps (javascript API): ottieni le coordinate GPS dall'indirizzo
Ci sono diversi modi per farlo: http://stackoverflow.com/questions/6922312/get-location-name-from-fetched-coordinates – gunar