Ich möchte folgende Werte von Latitude und Longitude in Android erhalten
- Adresse
- Stadtstaat
- Postleitzahl
- Vollständige Adresse
Wie erreicht man das?
android
google-maps
location
UMAR
quelle
quelle
Antworten:
Weitere Informationen zu den verfügbaren Details finden Sie unter Android-Standort-Adresse
quelle
getAddressLine()
ist nicht zuverlässig, um Stadt / Land zu erhalten, da die Adressleitungen je nach Detailgenauigkeit der Geokodierung variieren können. Verwenden SiegetLocality()
undgetCountryName()
stattdessen."http://maps.googleapis.com/maps/api/geocode/json?latlng=" + latitude + ","+ longitude + "&sensor=true"
. Es wird Json Antwort zurückgeben.Versuchen Sie das, mein Freund
quelle
Stadt und Land erhalten nicht immer die Adresse Zeile 1 und Zeile 2 ...
Beispiel ist hier
So,
quelle
Es gibt einen letzten Trick, um die Adresse von Lat-Long (Geokoordinaten) zu erhalten. Sie können einfach auf den Google Maps-Webdienst klicken, indem Sie den Längen- und Breitengrad eingeben. Es ist einfach ein GET-Method-Webdienst.
Es wird die JSON-Antwort zurückgegeben, die leicht analysiert werden kann, um die Adresse zu erhalten. Die URL hierfür lautet:
Sie können 32,75 durch lat, long ersetzen .
quelle
In onCreate () ..
Schreiben Sie den Code in onLocationChanged ()
quelle
Sie suchen nach dem Begriff Geokodierung.
Die Kurzgeschichte ist, dass Sie tun müssen:
Mehr zu tun , sollten Sie auf der Geocoder nachlesen hier .
quelle
quelle
Mit der Geocoder-Klasse ist es sehr einfach, eine vollständige Adresse aus dem Längen- und Breitengrad zu erhalten. Folgen Sie dem Codebeispiel. Hoffe das hilft!
Sie können nur den Adresswert verwenden, da er Ihnen die gesamte vollständige Adresse gibt. Wenn Sie einzelne Komponenten wünschen, können Sie auch andere verwenden.
quelle
Verwenden Sie einfach diese Methode und geben Sie Ihren Lat, Long.
quelle
quelle
Sie können einfach den folgenden Code verwenden, um die Adresse zu erhalten.
quelle
Sie können eine Klasse erstellen
Sie instanziieren es dann mit
quelle
Es scheint, dass noch niemand die von Google Text & Tabellen vorgeschlagene Lösung bereitgestellt hat ( https://developer.android.com/training/location/display-address#java) ). Die richtige Lösung sollte einen IntentService verwenden, um das Netzwerk für die umgekehrte Geokodierung aufzurufen.
Ein Intent-Service wird anstelle einer AsyncTask verwendet, da er nicht an eine bestimmte Aktivität gebunden ist. dh. es hat seinen eigenen Lebenszyklus. Der IntentService stoppt sich selbst, wenn die Geokodierung abgeschlossen ist.
quelle
Verwenden Sie dies, es funktioniert für mich: D.
Rufen Sie json-Daten des Breiten- und Längengrads ab.
https://maps.googleapis.com/maps/api/geocode/json?key=AIzaSyAr29XeWWAeWZcrOgjjfs3iSnqkWtAz4No&latlng=2.1812,102.4266&sensor=true
Ändern Sie Breite und Länge mit Ihrem eigenen Ort.
https://maps.googleapis.com/maps/api/geocode/json?key= <\ API_KEY_HERE> & latlng = "Breite", "Länge" & sensor = true
Sie können das <\ API_KEY_HERE> mit Ihrem eigenen Schlüssel ändern.
Sie müssen den API-Dienst in der Google-Konsole für den neuen API-Schlüssel aktivieren.
Hoffe es hilft: D.
quelle
1 - Sie erstellen Variablen für LocationManager und LocationListener in der onCreate-Methode.
2 - Überprüfen Sie, ob eine Berechtigung vorhanden ist. Führen Sie daher die Standortaktualisierungen aus und rufen Sie lastKnownLocation vom locationManager ab, andernfalls bitten Sie um Erlaubnis
3 - Erstellen Sie onRequestPermissionResult in der Hauptklasse und prüfen Sie, ob eine Berechtigung vorhanden ist. Führen Sie dann die Standortaktualisierungen aus
4 - Erstellen Sie eine getrennte Methode, die eine Geocoder-Variable enthält, und erstellen Sie eine Liste, um die Koordinaten von Ihrem Standort aus zu platzieren. Um sicherzugehen, überprüfen Sie, ob die Liste vorhanden ist und ob alle gewünschten Informationen in dieser Liste vorhanden sind, verwenden Sie (getThoroughfare = => für Straße), (getLocality ==> für Stadt / Bundesland), (getPostalCode ==> für Postleitzahl), (getAdminArea ==> für vollständige Adresse)
5 - Schließlich rufen Sie diese Methode auf, nachdem Sie die Berechtigung mit (lastKnownLocation-Parameter ==>, um die Adresse anzuzeigen, wenn die App ausgeführt wird) und in onLocationChanged mit (location-Parameter ==>, um die Adresse anzuzeigen, wenn sich der Standort ändert) überprüft haben.
Codeteil:
quelle
Für weitere Informationen klicken Sie hier
quelle
Versuchen Sie, den folgenden Code mit einem Geocoder zu verwenden:
quelle
Sie können diese Methode zum Geokodieren der richtigen vollständigen Adresse verwenden
quelle
Wenn Sie die Kotlin-Sprache verwenden, erstelle ich diese Methode, um den Adressort direkt abzurufen
Diese Methode gibt jedoch nur den String-Wert zurück, wenn Sie diese Methode aufrufen
Wenn Sie alle Adressen erhalten möchten, verwenden Sie einfach diese Methode / Funktion
}}
quelle
Sie können dies tun, um die vollständige Adresse aus Längen- und Breitengrad zu erhalten:
quelle
Sie müssen den Breiten- und Längengradwert übergeben.
quelle