Location SDK menyediakan sekumpulan antarmuka layanan berbasis lokasi (LBS) yang sederhana. Anda dapat menggunakan API lokasi untuk memperoleh informasi posisi.
Komponen Location mendukung dua metode integrasi: native AAR mode dan component mode.
Prasyarat
Jika Anda menggunakan metode native AAR untuk integrasi, Anda harus terlebih dahulu menyelesaikan langkah-langkah dalam Add mPaaS to your project.
Jika Anda menggunakan metode berbasis komponen untuk integrasi, Anda harus terlebih dahulu menyelesaikan Flow component mode.
Tambahkan SDK
native AAR mode
Gunakan Component Management (AAR) untuk menginstal komponen Location di proyek Anda. Untuk informasi selengkapnya, lihat AAR Component Management.
component mode
Instal komponen Location di proyek Portal dan Bundle Anda melalui Component Management. Untuk informasi selengkapnya, lihat Manage component dependencies.
Minta kunci Amap
Sebelum menggunakan LBS, Anda harus membuat akun dan memperoleh kunci lokasi dari Amap Open Platform. Contoh kunci ditunjukkan di bawah ini:

Konfigurasi AndroidManifest
Pada file AndroidManifest.xml, tambahkan kunci lokasi Amap dan layanan lokasi Amap.
<!--Amap location Key-->
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="Enter your Amap key" />
<!--Amap location Service-->
<service android:name="com.amap.api.location.APSService"></service>Mulai dari versi 10.1.68.18, fitur check-in otomatis pada komponen Location dinonaktifkan secara default. Untuk mengaktifkan check-in otomatis, tambahkan konfigurasi berikut secara manual ke file AndroidManifest.xml:
<meta-data android:name="com.mpaas.lbs.autoCheckIn" android:value="true" />Referensi API
Panggil fitur lokasi
Secara default, lokasi diselesaikan hingga tingkat kabupaten atau kota. Untuk detail tingkat jalan, lihat API terkait lainnya.
LBSLocationManagerProxy.getInstance().requestLocationUpdates(MainActivity.this, new LBSLocationListener() {
@Override
public void onLocationUpdate(LBSLocation lbsLocation) {
Toast.makeText(MainActivity.this, "lbsLocation is " + lbsLocation.getAddress(), Toast.LENGTH_LONG).show();
}
@Override
public void onLocationFailed(int i) {
Toast.makeText(MainActivity.this,
"onLocationFailed" + i, Toast.LENGTH_SHORT).show();
}
});API terkait lainnya
/**
* Mendaftarkan pembaruan lokasi. Lokasi akurat hingga tingkat kabupaten.
*/
public void requestLocationUpdates(Context context, LBSLocationListener locationListener)
/**
* Mendaftarkan pembaruan lokasi. Gunakan API ini jika Anda memerlukan akurasi tingkat jalan.
* gpsEnable: false menunjukkan akurasi tingkat kabupaten. true menunjukkan akurasi tingkat jalan, yang memberikan presisi lebih tinggi tetapi mengonsumsi lebih banyak sumber daya.
* miniInterval: Interval pembaruan lokasi. Misalnya, LBSLocationManagerProxy.DEFAULT_LOCATION_INTERVAL.
* overtime: Periode timeout lokasi. Misalnya, LBSLocationManagerProxy.LOCATION_TIME_OUT.
* isNeedAddress: true menunjukkan bahwa reverse geocoding diperlukan. false menunjukkan bahwa hanya latitude dan longitude yang diperlukan.
* bizType: Jenis bisnis. Setel ke null.
*/
public void doRequestLocationUpdates(Context context, boolean gpsEnable, LBSLocationListener locationListener, long miniInterval, long overtime, boolean isNeedAddress, String bizType)
// Menghapus callback untuk pendaftaran lokasi.
public void removeUpdates(Context context, LBSLocationListener listener)
// Mendapatkan lokasi terakhir yang berhasil diketahui.
public LBSLocation getLastKnownLocation(Context context)