geolocation
unknown
dart
a year ago
1.6 kB
7
Indexable
Future<bool> _isUserAtCafe() async { bool serviceEnabled; LocationPermission permission; // Memeriksa apakah layanan lokasi diaktifkan serviceEnabled = await Geolocator.isLocationServiceEnabled(); if (!serviceEnabled) { // Layanan lokasi tidak diaktifkan, tidak dapat melanjutkan return false; } // Memeriksa izin lokasi permission = await Geolocator.checkPermission(); if (permission == LocationPermission.denied) { permission = await Geolocator.requestPermission(); if (permission == LocationPermission.denied) { // Izin lokasi ditolak, tidak dapat melanjutkan return false; } } if (permission == LocationPermission.deniedForever) { // Izin lokasi ditolak secara permanen, tidak dapat melanjutkan return false; } // Mendapatkan lokasi saat ini Position position = await Geolocator.getCurrentPosition(); // Menghitung jarak dari kafe double distance = Geolocator.distanceBetween( position.latitude, position.longitude, cafeLatitude, cafeLongitude, ); // Memeriksa apakah pengguna berada dalam radius yang diizinkan return distance <= allowedRadius; } void _handleOrder() async { bool isAtCafe = await _isUserAtCafe(); if (isAtCafe) { // Pengguna berada di kafe, lanjutkan pemesanan print('Pemesanan berhasil'); } else { // Pengguna tidak berada di kafe, tampilkan pesan kesalahan print('Anda harus berada di kafe untuk melakukan pemesanan'); } }
Editor is loading...
Leave a Comment