Rumah >Java >javaTutorial >Bagaimanakah saya Boleh Mendapatkan Latitud dan Longitud dalam Android Menggunakan LocationManager?

Bagaimanakah saya Boleh Mendapatkan Latitud dan Longitud dalam Android Menggunakan LocationManager?

DDD
DDDasal
2024-11-18 07:47:02769semak imbas

How Can I Get Latitude and Longitude in Android Using LocationManager?

Mendapatkan Latitud dan Longitud dalam Android Menggunakan Alat Lokasi

Dalam Android, mendapatkan semula lokasi semasa peranti mudah alih, termasuk latitud dan longitudnya, adalah keperluan biasa. Untuk mencapai matlamat ini, API LocationManager menyediakan beberapa pilihan.

Menggunakan getLastKnownLocation()

Satu pendekatan mudah ialah menggunakan kaedah getLastKnownLocation() bagi LocationManager. Kaedah ini mendapatkan semula lokasi yang diketahui terkini untuk pembekal lokasi tertentu, seperti GPS.

LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);

if (location != null) {
    double longitude = location.getLongitude();
    double latitude = location.getLatitude();
}

Menggunakan requestLocationUpdates()

Untuk kemas kini lokasi berterusan, kaedah requestLocationUpdates() harus digunakan . Kaedah ini mengambil LocationListener sebagai hujah, yang menyediakan panggilan balik apabila lokasi berubah.

private final LocationListener locationListener = new LocationListener() {
    public void onLocationChanged(Location location) {
        double longitude = location.getLongitude();
        double latitude = location.getLatitude();
    }
};

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, locationListener);

Pertimbangan Kebenaran

Untuk menggunakan GPS atau perkhidmatan lokasi lain, aplikasi Android mesti mempunyai kebenaran ACCESS_FINE_LOCATION . Kebenaran ini hendaklah diisytiharkan dalam fail AndroidManifest.xml:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

Pertimbangan Lain

Untuk peranti yang mungkin tidak mempunyai keupayaan GPS, kebenaran ACCESS_COARSE_LOCATION boleh ditambah untuk membolehkan penggunaan pembekal lokasi berasaskan rangkaian. Selain itu, kaedah getBestProvider() boleh digunakan untuk memilih penyedia lokasi yang paling sesuai berdasarkan keadaan semasa.

Atas ialah kandungan terperinci Bagaimanakah saya Boleh Mendapatkan Latitud dan Longitud dalam Android Menggunakan LocationManager?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn