Tutorial Flutter mendeteksi Lokasi Perangkat

Tutorial Flutter mendeteksi Lokasi Perangkat akan membahas tentang bagaimana mendapatkan lokasi dari perangkat atau device. Plugin atau package yang akan kita gunakan adalah Geolocator.

Konfigurasi

Tambahkan geolocator: ^5.3.1 di dalam pubspec.yaml lalu jalankan flutter pub get. Kita harus menambahkan permission pada android dan ios.

Permission pada Android

Buka file AndroidManifest.xml milik anda , lalu tambahkan

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

Permission pada iOS

Kita akan mengubah bagian Info.plist dengan menambahkan

<key>NSLocationWhenInUseUsageDescription</key>
<string>This app needs access to location when open.</string>

<key>NSLocationAlwaysUsageDescription</key>
<string>This app needs access to location when in the background.</string>

<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
<string>This app needs access to location when open and in the background.</string>

Tutorial Flutter mendeteksi Lokasi Perangkat

Kita akan mengubah file main.dart menjadi seperti ini

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

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'tukangaplikasi.com',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MainPage(),
    );
  }
}





kemudian kita akan membuat class baru bernama MainPage()

class MainPage extends StatefulWidget {
  @override
  _MainPageState createState() => _MainPageState();
}

class _MainPageState extends State<MainPage> {

  Position _currentPosition;


  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          crossAxisAlignment: CrossAxisAlignment.center,
          children: <Widget>[
            FlatButton(
              color: Colors.greenAccent,
              child: Text("Dapatkan Posisi"),
              onPressed: (){
                _getCurrentLocation();
              },
            ),
            (_currentPosition != null) ? Text(_currentPosition.longitude.toString() + " , " + _currentPosition.latitude.toString()):Container(),

          ],
        ),
      ),
    );
  }
  _getCurrentLocation() {
    final Geolocator geolocator = Geolocator()..forceAndroidLocationManager;

    geolocator
        .getCurrentPosition(desiredAccuracy: LocationAccuracy.best)
        .then((Position position) {
      setState(() {
        _currentPosition = position;
      });
    }).catchError((e) {
      print(e);
    });
  }
}

Hasilnya akan seperti ini

Tutorial Flutter mendeteksi Lokasi Perangkat

Source code https://github.com/bobykurniawan11/TukangAplikasi/tree/31b465a646142bfaa712d59a2eb1d25d9771c6bc

Tinggalkan Balasan

Subscribe To Our Newsletter

Subscribe To Our Newsletter

Kami memberikan tutorial baru tiap harinya !!!

You have Successfully Subscribed!

%d blogger menyukai ini: