Saya ingin mendapatkan nilai berikut dari Latitude dan Longitude di android
- Alamat jalan
- Kota / Negara
- Zip
- Alamat lengkap
Bagaimana cara mencapai ini?
android
google-maps
location
UMAR-MOBITSOLUSI
sumber
sumber
Jawaban:
Untuk info lebih lanjut tentang perincian yang tersedia, Lihat di Android-Location-Address
sumber
getAddressLine()
tidak dapat diandalkan untuk mendapatkan kota / negara karena garis alamat dapat bervariasi tergantung pada tingkat detail geocoding. GunakangetLocality()
dangetCountryName()
sebagai gantinya."http://maps.googleapis.com/maps/api/geocode/json?latlng=" + latitude + ","+ longitude + "&sensor=true"
. Ini akan mengembalikan respons Json.Coba ini temanku
sumber
Kota & Negara tidak Selalu mendapatkan alamat Jalur 1 & Jalur 2 ...
Contohnya ada di sini
Begitu,
sumber
Ada trik terakhir untuk mendapatkan Alamat dari Lat-Long (Geo-coordinate). Anda cukup menekan layanan web google-maps melewati Latitude dan bujur. Ini hanyalah layanan web GET-Method.
Ini akan mengembalikan Respons JSON yang dapat diurai dengan mudah untuk mendapatkan alamat. URL untuk ini adalah:
Anda dapat mengganti 32,75 dengan lat, panjang .
sumber
Di onCreate () ..
Tulis kode di onLocationChanged ()
sumber
Anda mencari istilah Geocoding.
Cerpen yang perlu Anda lakukan:
Untuk berbuat lebih banyak, Anda harus membaca tentang Geocoder di sini .
sumber
sumber
Sangat mudah untuk mendapatkan alamat lengkap dari Latitude dan Longitude menggunakan kelas Geocoder. Mengikuti contoh kode. Semoga ini membantu!
Anda hanya dapat menggunakan nilai alamat karena memberi Anda semua alamat lengkap. Jika Anda ingin komponen individual, Anda dapat menggunakan yang lain juga.
sumber
Cukup Gunakan metode ini dan berikan lat Anda, panjang.
sumber
sumber
Anda dapat dengan mudah menggunakan kode berikut untuk mendapatkan alamat.
sumber
Anda bisa membuat kelas
Anda kemudian instantiate menggunakan
sumber
Tampaknya belum ada yang memberikan solusi yang disarankan oleh Google Documents ( https://developer.android.com/training/location/display-address#java ). Solusi yang benar harus menggunakan IntentService untuk membuat panggilan jaringan untuk geocoding terbalik.
Layanan maksud digunakan daripada AsyncTask karena tidak terikat dengan aktivitas spesifik apa pun. yaitu. ia memiliki siklus hidupnya sendiri. IntentService akan berhenti sendiri ketika Geocoding selesai.
sumber
Gunakan ini berfungsi untuk saya: D
Ambil data json tentang lintang dan bujur.
https://maps.googleapis.com/maps/api/geocode/json?key=AIzaSyAr29XeWWAeWZcrOgjjfs3iSnqkWtAz4No&latlng=2.1812,102.4266&sensor=true
Ubah lintang, bujur dengan tempat Anda sendiri.
https://maps.googleapis.com/maps/api/geocode/json?key= <\ API_KEY_HERE> & latlng = "latitude", "longitude" & sensor = true
Anda dapat mengubah <\ API_KEY_HERE> dengan kunci Anda sendiri.
Perlu mengaktifkan layanan api di google console untuk kunci api baru.
Semoga bisa membantu: D
sumber
1 - Anda membuat variabel untuk LocationManager dan LocationListener dalam metode onCreate.
2 - Periksa apakah ada izin, maka lakukan pembaruan lokasi dan dapatkan lastKnownLocation dari locationManager jika Anda meminta izin
3 - Buat onRequestPermissionResult di kelas utama dan periksa apakah ada izin kemudian jalankan pembaruan lokasi
4 - Buat metode terpisah yang mencakup variabel Geocoder dan buat daftar untuk meletakkan koordinat dari lokasi Anda, jadi agar aman Anda memeriksa apakah Daftar ada dan jika setiap info yang kita inginkan dalam daftar itu ada, maka Anda menggunakan (getThoroughfare = => untuk Alamat Jalan), (getLocality ==> untuk Kota / Negara Bagian), (getPostalCode ==> untuk Zip), (getAdminArea ==> untuk Alamat Lengkap)
5 - Akhirnya Anda memanggil metode itu setelah memeriksa izin dengan (parameter lastKnownLocation ==> untuk menunjukkan alamat ketika Aplikasi berjalan) dan di onLocationChanged dengan (parameter lokasi ==> untuk menunjukkan alamat ketika lokasi berubah)
Bagian kode:
sumber
untuk info lebih lanjut klik di sini
sumber
Coba gunakan kode di bawah ini menggunakan geocoder:
sumber
Anda dapat menggunakan metode ini untuk geocoding Alamat lengkap yang tepat
sumber
Jika Anda menggunakan bahasa Kotlin, saya membuat metode ini untuk mendapatkan lokasi alamat secara langsung
tetapi metode ini hanya mengembalikan nilai String ketika Anda memanggil metode ini
Jika Anda ingin mendapatkan semua alamat, Anda cukup menggunakan metode / fungsi ini
}
sumber
Anda dapat melakukan hal ini untuk mendapatkan alamat lengkap dari lintang dan bujur:
sumber
Anda harus melewati nilai garis lintang dan bujur.
sumber