In this tutorial , we try to fetch phone GPS Location.
I used this library in pubspec.yaml file under dependencies
main.dart
I used this library in pubspec.yaml file under dependencies
dependencies: location: ^2.3.5
Android #
In order to use this plugin in Android, you have to add this permission in AndroidManifest.xml :
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Permission check for Android 6+ was added.
iOS #
And to use it in iOS, you have to add this permission in Info.plist :
NSLocationWhenInUseUsageDescription
NSLocationAlwaysUsageDescription
Warning: there is a currently a bug in iOS simulator in which you have to manually select a Location several in order for the Simulator to actually send data. Please keep that in mind when testing in iOS simulator.
main.dart
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import 'package:flutter/material.dart'; import 'package:flutter_app_sample/GetLocationPage.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter GPS', theme: ThemeData( primarySwatch: Colors.blue, ), home: GetLocationPage(), ); } } |
GetLocationPage.dart
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | import 'package:flutter/material.dart'; import 'package:location/location.dart'; class GetLocationPage extends StatefulWidget { @override _GetLocationPageState createState() => _GetLocationPageState(); } class _GetLocationPageState extends State<GetLocationPage> { LocationData _currentLocation; Location _locationService = new Location(); @override void initState() { // TODO: implement initState super.initState(); _getLocation().then((value) { setState(() { _currentLocation = value; }); }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ _currentLocation == null ? CircularProgressIndicator() : Text("Location:" + _currentLocation.latitude.toString() + " " + _currentLocation.longitude.toString()), Padding( padding: const EdgeInsets.all(8.0), child: RaisedButton( onPressed: () { _getLocation().then((value) { setState(() { _currentLocation = value; }); }); }, color: Colors.blue, child: Text( "Get Location", style: TextStyle(color: Colors.white), ), ), ), ], ), ), ); } Future<LocationData> _getLocation() async { LocationData currentLocation; try { currentLocation = await _locationService.getLocation(); } catch (e) { currentLocation = null; } return currentLocation; } } |
thank you.... ,<3
ReplyDeletethsank you
ReplyDeleteThank you for sharing!
ReplyDelete