Jak uzyskać nazwę kraju w systemie Android, jeśli znane są współrzędne geograficzne? Jak zrobić to najprostszym sposobem?Uzyskaj kraj ze współrzędnych?
14
A
Odpowiedz
13
skorzystać z poniższego funkcji dla tego.
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();
}
}
Dodaj Poniżej Permission do oczywistego
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
+0
Twój kod ma błąd. Czasami z 'lat' i' lng', nie masz adresu. Co oznacza, że 'address.get (0)' powoduje wyjątek 'IndexOutOfBound'. – allenlsy
24
Tu idziesz
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
stosowania tej
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();
}
użyć w pliku manifestu
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
2
Jak zrobiłem to niedawno było przeczytać dane z adresu URL interfejsu API sieci Web i parsowanie JSON.
Przykładem URL punktu (40.714224, -73,961452) wynosi:
http://maps.google.com/maps/geo?q=40.714224,-73.961452&output=json&oe=utf8&sensor=true_or_false&key=your_api_key
która produkuje następujące dane wyjściowe:
{
"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 ]
}
} ]
}
znajdę GSON się być całkiem dobry dla analizowania JSON w Androidzie .
Powiązane problemy
- 1. Uzyskiwanie położenia ze współrzędnych
- 2. Jak uzyskać miasto ze współrzędnych?
- 3. Uzyskaj nazwę kraj/region z Windows Phone 8
- 4. Utwórz tablicę 2D Numpy ze współrzędnych
- 5. Uzyskiwanie strefy czasowej ze współrzędnych długich?
- 6. TimeZoneInfo i kraj kody
- 7. Błąd Paypal: kraj sprzedawcy nieobsługiwany
- 8. NSLocale i kraj nazwa
- 9. City Kraj State Database
- 10. IP na kraj - IPv6
- 11. Stosowanie współrzędnych pikseli do współrzędnych ekranu
- 12. Czy można uzyskać adres ze współrzędnych za pomocą mapy google?
- 13. jak uzyskać widok ze współrzędnych zdarzeń w systemie Android?
- 14. Jak uzyskać współrzędne światowe ze współrzędnych ekranu w Vispy
- 15. Jak mogę znaleźć kraj użytkownika za pomocą geolokacji HTML5?
- 16. Konwersja współrzędnych GPS do współrzędnych płaszczyzny
- 17. Konwersja współrzędnych UIKit do współrzędnych SpriteKit
- 18. WPF: Konwersja współrzędnych ekranu i współrzędnych WPF
- 19. Uzyskaj dwa niższe bajty ze zmiennej int
- 20. Uzyskaj parametry PUT ze Slim PHP
- 21. Uzyskaj tekst czytelny tylko ze schowka
- 22. Uzyskaj pojedynczy plik ze zdalnego repozytorium rutera
- 23. Uzyskaj NSManagedObjectContext podczas korzystania ze scenorysu
- 24. Uzyskaj wszystkie parametry ze strony JSP
- 25. ip kraj php lub apache
- 26. Kraj sklepu iOS iTunes Store
- 27. Jak zachować określony kraj na liście rozwijanej?
- 28. Układ współrzędnych n-kuli do układu współrzędnych kartezjańskich
- 29. Używanie współrzędnych geograficznych jako współrzędnych wierzchołków w pakiecie igraph r
- 30. Strefa czasowa według współrzędnych
Istnieje kilka sposobów na zrobienie tego: http://stackoverflow.com/questions/6922312/get-location-name- from-fetched-coordinates – gunar