Home Flutter Menggunakan Plugin Geolocator dalam Flutter untuk Mengambil Lokasi Pengguna

Menggunakan Plugin Geolocator dalam Flutter untuk Mengambil Lokasi Pengguna

0
Menggunakan Plugin Geolocator dalam Flutter untuk Mengambil Lokasi Pengguna

Salah satu fitur yang sering diperlukan dalam pengembangan aplikasi mobile adalah kemampuan untuk mengakses lokasi pengguna. Hal ini dapat berguna dalam berbagai konteks, seperti menampilkan informasi berdasarkan lokasi, pelacakan perangkat, dan banyak lagi. Dalam pengembangan Flutter, plugin Geolocator adalah pilihan yang tepat untuk mengambil data lokasi pengguna. Dalam artikel ini, kita akan menjelaskan konsep dan langkah-langkah dasar untuk menggunakan plugin Geolocator dalam Flutter.

Mengapa Plugin Geolocator Diperlukan

Dalam banyak aplikasi, informasi lokasi pengguna bisa sangat penting. Anda mungkin ingin menampilkan tempat-tempat terdekat, informasi cuaca berdasarkan lokasi pengguna, atau bahkan melakukan pelacakan perangkat. Inilah mengapa plugin Geolocator menjadi penting, karena memungkinkan Anda untuk mengakses dan mengambil data lokasi dengan mudah.

Instalasi Plugin Geolocator

Langkah pertama adalah menambahkan plugin Geolocator ke proyek Flutter Anda. Anda dapat melakukannya dengan menambahkan dependensi berikut ke file pubspec.yaml:

dependencies:
  geolocator: ^7.6.2

Kemudian, jalankan perintah flutter pub get untuk mengunduh dan menginstal plugin ini.

Mengambil Lokasi Pengguna

Dalam Flutter, Anda dapat menggunakan plugin Geolocator untuk mengambil lokasi pengguna. Berikut adalah langkah-langkah dasar untuk melakukan hal ini:

  • Mengecek dan Meminta Izin LokasiSebelum mengambil lokasi pengguna, pastikan Anda telah memeriksa dan meminta izin lokasi. Ini penting untuk menjaga privasi pengguna. Berikut adalah contoh kode untuk melakukan ini:
Future getLocation() async {
  await Geolocator.checkPermission();
  await Geolocator.requestPermission();
}
  • Mengambil Lokasi Saat IniSetelah mendapatkan izin lokasi, Anda dapat mengambil lokasi saat ini dengan menggunaan Geolocator.getCurrentPosition. Anda juga dapat menentukan akurasi lokasi yang diinginkan, seperti LocationAccuracy.medium. Berikut adalah contoh kode:
Future getPosition() async {
  Position position = await Geolocator.getCurrentPosition(
    desiredAccuracy: LocationAccuracy.medium,
  );
  return position;
}
  • Menampilkan LokasiSetelah Anda berhasil mengambil lokasi, Anda dapat menampilkannya dalam antarmuka pengguna. Contoh kode di bawah ini mengambil lokasi pengguna saat tombol “Take Location” ditekan dan menampilkan koordinat latitude dan longitude di layar:
onPressed: () async {
  Position position = await getPosition();
  ScaffoldMessenger.of(context).showSnackBar(SnackBar(
    content: Text(
      "Lokasi Anda Saat Ini : Latitude : ${position.latitude} dan Longitude : ${position.longitude}",
    ),
  });
}
  • Menyimpan LokasiAnda juga dapat menyimpan data lokasi dalam variabel dan menggunakannya untuk keperluan lebih lanjut dalam aplikasi Anda. Dalam contoh di atas, kita menyimpan latitude dan longitude dalam variabel latitude dan longitude.

Contoh Apps Sederhana

Output :

Code :

import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';

class GeoPage extends StatefulWidget {
  const GeoPage({super.key});

  @override
  State<GeoPage> createState() => _GeoPageState();
}

class _GeoPageState extends State<GeoPage> {
  var latitude;
  var longitude;
  Future getLocation() async {
    await Geolocator.checkPermission();
    await Geolocator.requestPermission();
    Position position = await Geolocator.getCurrentPosition(
        desiredAccuracy: LocationAccuracy.medium);
    print(position);
    return position;
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            MaterialButton(
              color: Colors.blue,
              onPressed: () async {
                Position position = await getLocation();
                ScaffoldMessenger.of(context).showSnackBar(SnackBar(
                    content: Text(
                        "Lokasi Anda Saat Ini : Latitude : ${position.latitude} dan Longitude : ${position.longitude}")));
                setState(() {
                  latitude = position.latitude;
                  longitude = position.longitude;
                });
              },
              child: Text(
                'Take Location',
                style: TextStyle(color: Colors.white),
              ),
            ),
            Text("Latitude Anda ${latitude}"),
            Text("Longitude Anda ${longitude}")
          ],
        ),
      ),
    );
  }
}

Note

Pastikan anda sudah memberikan izin pada android\app\src\main\AndroidManifest.xml

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

    <application
    .................
    .................

Kesimpulan

Plugin Geolocator dalam Flutter memungkinkan pengembang untuk dengan mudah mengambil lokasi pengguna. Dengan memahami konsep dasar dan langkah-langkah yang diperlukan, Anda dapat menambahkan fitur lokasi ke aplikasi Flutter Anda dengan mudah. Semoga artikel ini membantu Anda memahami penggunaan plugin Geolocator dalam pengembangan Flutter Anda.