Awalnya saya kesulitan mendapatkan lokasi user yang benar-benar real, karena seringkali posisi kita sudah berpindah namun marker lokasi user masih mendeteksi lokasi kita yang lama. Misalnya pagi ini saya di semarang, kemudian siang saya sudah di Kudus. Namun ketika menjalankan aplikasi lokasi saya tetap di Semarang.
Sebelumnya saya hanya menggunakan fitur LocationListener dan mengandalakan metod onLocationChanged, namun setelah berdiskusi dengan mas Pratama, ternyata ada solusi yakni menggunakan LocationClient. Kalau penasaran silakan buka saja link ini dan link ini.
Contoh source codenya
private void init2() {
// TODO Auto-generated method stub
mLocationRequest = LocationRequest.create();
/*
* Set the update interval
*/
mLocationRequest.setInterval(LocationUtils.UPDATE_INTERVAL_IN_MILLISECONDS);
// Use high accuracy
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
// Set the interval ceiling to one minute
mLocationRequest.setFastestInterval(LocationUtils.FAST_INTERVAL_CEILING_IN_MILLISECONDS);
// Note that location updates are off until the user turns them on
mUpdatesRequested = false;
// Open Shared Preferences
mPrefs = getSharedPreferences(LocationUtils.SHARED_PREFERENCES, Context.MODE_PRIVATE);
// Get an editor
mEditor = mPrefs.edit();
/*
* Create a new location client, using the enclosing class to
* handle callbacks.
*/
mLocationClient = new LocationClient(this, this, this);
}
Kita cukup menggunakan variable mLocationClient untuk mendapatkan posisi user.
Di situs tersebut juga sudah ada contoh aplikasi yang menerapkan LocationClient. Download dan langsung pelajari saja.

Posting Komentar