Ich arbeitete mit Geocoder in meiner Android-App, um den Namen des Landes mit Breiten- und Längengrad zu erhalten. Ich fand, dass es in der Kitkat-Version und darunter gut funktionierte. Aber wenn ich meine App in den obigen Versionen teste, gab es null. Also meine Frage ist einfach, wie man Geocoder über Kitkat-Versionen einsetzt. Wenn es eine andere bessere Option als einen Geocoder gibt, dann schlagen Sie mir bitte vor! Vielen Dank im Voraus!Geocoder funktioniert nicht in Android über Kitkat Version
1
A
Antwort
0
Ich poste meinen Code für Geocoder. Folgen Sie ihm
//Keep this GeocodingLocation.java in a separate file.
public class GeocodingLocation {
private static final String TAG = "GeocodingLocation";
public static void getAddressFromLocation(final String locationAddress,
final Context context, final Handler handler) {
Thread thread = new Thread() {
@Override
public void run() {
Geocoder geocoder = new Geocoder(context, Locale.getDefault());
String result = null;
String latitude = null;
String longitude = null;
try {
List<Address> addressList = geocoder.getFromLocationName(locationAddress, 1);
if (addressList != null && addressList.size() > 0) {
Log.e("GeocodingLocation --> getAddressFromLocation ==>" +
addressList.toString());
Address address = (Address) addressList.get(0);
StringBuilder sb = new StringBuilder();
latitude = String.valueOf(address.getLatitude());
longitude = String.valueOf(address.getLongitude());
Logger.infoLog("GeocodingLocation --> Lat & Lang ==>" + latitude +" "+longitude);
//sb.append(address.getLatitude()).append("\n");
//sb.append(address.getLongitude()).append("\n");
}
} catch (IOException e) {
Log.e(TAG, "Unable to connect to Geocoder", e);
} finally {
Message message = Message.obtain();
message.setTarget(handler);
if (latitude != null && longitude != null) {
message.what = 1;
Bundle bundle = new Bundle();
bundle.putString("latitude", latitude);
bundle.putString("longitude", longitude);
message.setData(bundle);
} else {
message.what = 1;
Bundle bundle = new Bundle();
result = "Address: " + locationAddress +
"\n Unable to get Latitude and Longitude for this address location.";
bundle.putString("address", result);
message.setData(bundle);
}
message.sendToTarget();
}
}
};
thread.start();
}
}
rufen Sie die Klasse von Ihrem Fragment.
private void getAddressLatitudeLongitude(String branchAddress) {
Log.e("getAddressLatitudeLongitude ==>" + branchAddress);
GeocodingLocation.getAddressFromLocation(branchAddress, thisActivity, new GeocoderHandler());
}
Halten Sie diese Klasse als innere Klasse in demselben Fragment
private class GeocoderHandler extends Handler {
@Override
public void handleMessage(Message message) {
switch (message.what) {
case 1:
try {
Bundle bundle = message.getData();
latitude = bundle.getString("latitude");
longitude = bundle.getString("longitude");
Log.e("CreateBranch --> GeocoderHandler ==>" + latitude + " " + longitude);
}catch (Exception e){
e.printStackTrace();
}
break;
default:
latitude = null;
longitude = null;
}
latitudeList.add(latitude);
longitudeList.add(longitude);
if(latitude==null || longitude==null){
showAlertDialog("Please enter correct address", Constants.APP_NAME);
}
Log.e("Latitude list =>" + latitudeList);
Log.e("Longitude list =>" + longitudeList);
}
}
Ausgang wird Breiten- und Längengrad erhalten. Hoffe, diese Antwort hilft.
+0
Ich glaube, du hast meine Frage nicht bekommen. Ich frage nicht nach dem Längen- und Breitengrad von der Adresse. Ich möchte die Ortsadresse aus dem Längen- und Breitengrad ableiten. –
Verwandte Themen
- 1. android webview aktueller Standort funktioniert nicht für kitkat Version
- 2. Phonegap: Kamera funktioniert nicht in android kitkat
- 3. <Tag> wird nicht in Kitkat Version
- 4. Android Geocoder funktioniert nicht in Nexus 6P mit Android Nougat 7.0
- 5. android.support.v4.content.FileProvider-Klasse nicht in Android Kitkat
- 6. Android -RecyclerView in kitkat
- 7. ViewCompat.setNestedScrollingEnabled() funktioniert nicht mit KitKat
- 8. Android - Geocoder ist nicht umfassend
- 9. Android Kitkat Kompatibilitätsproblem
- 10. Android App funktioniert perfekt in Marshmallow und Lutscher oder Nougat, aber es funktioniert nicht in Kitkat
- 11. getCoordinates() funktioniert nicht in Geocoder-PHP
- 12. Sticky Grid-Header funktioniert nicht auf einigen Android-Version
- 13. Scrolling Toolbar funktioniert nicht auf Kitkat
- 14. Framework7 Material Icon in Android 4.4.2 (KitKat)
- 15. Kamera-API funktioniert nicht auf KITKAT
- 16. Google Karte Geocoder und MoveToRegion funktioniert nicht
- 17. Android Geocoder null zurück Stadtname
- 18. Standard Android Geocoder Nutzungsgrenzen
- 19. Integrierter Newsfeed wird nicht angezeigt (ANDROID KITKAT)
- 20. Redux Seitenumbrüche in Android WebView in Kitkat
- 21. Android Support Konstruktion 23.4.0 Probleme in Kitkat
- 22. Google Maps Api Geocoder funktioniert nicht
- 23. java.lang.VerifyError in android api <21 (KitKat)
- 24. make Statusleiste Kitkat Durchlässiger android
- 25. Realm VerfiyError auf Android KitKat
- 26. WebView Rendering Issue in Android KitKat
- 27. Get Adresse mit Geocoder in Android
- 28. Stack-Benachrichtigungen in Kitkat (API 19) mit setGroup() funktioniert nicht
- 29. Wie funktioniert der Google Geocoder?
- 30. ClassCastException in JUnit Tests mit Android KitKat
haben Sie Runtime-Berechtigung für über API 22 oder höher? –
Überprüfen Sie auf Laufzeitberechtigungen, und wenn das Problem gleich bleibt, verwenden Sie Goole Location API, um den Standort zu erwerben. –
Mögliches Duplikat von [Geocoder funktioniert auf einigen Android-Telefonen nicht] (https://stackoverflow.com/questions/31146775/ Geocoder-funktioniert nicht bei einigen Android-Telefonen) –