Dukun, Plugin Flutter Geolocator

14 Jan 2020 18:15 3495 Hits 0 Comments Approved by Plimbi
Geolocator, plugin yang selalu tahu dimana kamu.

Assalamu’alaikum Warrohmatullahi Wabarokaatuh.

Helo guys, hari ini saya akan membagikan sebuah metode untuk mengambil lokasi dari device menggunakan flutter. Ada beberapa plugin yang bisa digunakan untuk mengambil lokasi dari sebuah device, yaitu Location dan Geolocator.

Secara sekilas, kedua plugin ini nampak sama, namun dari segi fitur keduanya mempunyai fungsi yang berbeda. Geolocator mempunyai fungsi untuk menentukan jarak antara dua lokasi dan juga bisa mengenali alamat dengan koordinat yang ditentukan. Sementara Location lebih berfokus kepada live streaming lokasi sebuah device.

Untuk sekarang, saya hanya akan menggunakan Geolocator karena data yang saya butuhkan hanyalah data lokasi dan tempat.

Pertama-tama kita tambahkan dulu nama package di dependencies pada file pubspec.yaml, kita gunakan versi terbaru saat ini.

Dependencies:

Geolocator : ^5.2.0

Note: untuk mengecek update versi, silahkan kunjungi official website dari Flutter.

Lalu setelah itu kita import package yang akan digunakan.

Import ‘package:geolocator/geolocator.dart’;

 

Fitur Geolocator

Geolocation

Ada banyak sekali fitur yang terdapat pada geolocator, diantaranya adalah:

1. getCurrentPosition

Method ini digunakan untuk mengambil lokasi terbaru dari device. Cara memanggilnya adalah:

Position position = await Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.high);

 

2. getLastKnownPosition

Fitur ini mengambil data lokasi yang tersimpan didalam device, jadi walaupun device tidak terkoneksi ke internet, kita bisa tetap mengambil lokasi terakhir dari device tersebut. Namun, method ini hanya akan memberikan output ‘null’ apabila belum pernah memanggil lokasi sebelumnya.

Berikut contoh penulisannya.

Position position = await Geolocator().getLastKnownPosition(desiredAccuracy: LocationAccuracy.high);

 

3. onPositionChanged

Fitur yang satu ini mirip dengan fitur streaming yang ada pada plugin Location. Namun, ada perbedaan dari bagaimana trigger untuk mengambil lokasi terbaru. Pada Geolocation, data lokasi terbaru akan diambil dengan interval perubahan jarak lokasi pada device, jarak ini ditentukan dengan satuan meter, dan untuk menentukan jaraknya menggunakan LocationOptions.

Sedangkan pada Location, pengambilan data lokasi terbaru bisa menggunakan dua cara, yaitu menggunakan trigger jarak seperti pada Geolocation, dan juga dengan menggunakan interval waktu dengan satuan milidetik.

Untuk contoh penulisannya bisa dilihat dibawah.

Var geolocator = Geolocator();

Var locationOptions = LocationOptions(accuracy: LocationAccuracy.high, distanceFilter: 10);

StreamSubscription positionStream = geolocator.getPositionStream(locationOptions).listen {

(Position pos) {

Print(position==null ? ‘unknown’ : pos.latitude.toString() + ’ , ’ + pos.longitude.toString());

}

);

 

4. checkGeolocationPermissionStatus

Seperti yang kita tahu, android membutuhkan permission saat kita akan mengakses GPS pada device. Nah untuk mengetahui apakah kita sudah mendapatkan permission dari device, kita bisa menggunakan checkGeolocationPermissionStatus.

Berikut contoh cara penulisannya.

GeolocationStatus geolocationStatus = await Geolocator().checkGeolocationPermissionStatus();

Geocoding

Geocoding adalah menafsirkan sebuah alamat di suatu tempat dari koordinat latitude dan longitude, atau sebaliknya.

Untuk menafsirkan alamat menjadi sebuah koordinat bisa menggunakan method placemarkFromAddress, berikut contoh penerapannya:

List placemark = await Geolocator().placemarkFromAddress(“Bandung, Jawa Barat”);

Dan untuk menafsirkan sebuah koordinat menjadi sebuah alamat dapat menggunakan method placemarkFromCoordinates, berikut contoh penerapannya:

List placemark = await Geolocator().placemarkFromCoordinates(23.4345231, 3.9482342);

Mengukur Jarak

Salah satu keistimewaan plugin ini adalah kita bisa mengukur jarak antara dua lokasi. Untuk mengukur jaak tersebut menggunakan method distanceBetween. Method ini membutuhkan empat parameter yaitu:

1. startLatitude, latitude dari lokasi sekarang.

2. startLongitude, longitude dari lokasi sekarang.

3. endLatitude, latitude dari lokasi tujuan.

4. endLogitude, longitude dari lokasi tujuan.

Empat parameter diatas adalah parameter wajib, maksudnya tidak boleh dikosongkan. Untuk contoh penerapannya bisa dilihat dibawah ini.

Double distanceInMeters = await Geolocator().distanceBeetwen(23.4345231, 3.9482342, 50.252367, 4.142948);

Nah, cukup sampai disini dulu intro mengenai plugin geolocator dari saya, terimakasih sudah membaca.
Tags Android

About The Author

Daffa Juliano 29
Novice

Daffa Juliano

Mahasiswa
Plimbi adalah tempat menulis untuk semua orang.
Yuk kirim juga tulisanmu sekarang
Submit Artikel