location.dart 831B

123456789101112131415161718192021222324252627
  1. import 'package:location/location.dart';
  2. Future getLocation() async {
  3. Location location = Location();
  4. bool _serviceEnabled;
  5. PermissionStatus _permissionGranted;
  6. LocationData _locationData;
  7. _serviceEnabled = await location.serviceEnabled();
  8. if (!_serviceEnabled) {
  9. _serviceEnabled = await location.requestService();
  10. if (!_serviceEnabled) {
  11. throw Exception("请开启系统定位功能");
  12. }
  13. }
  14. _permissionGranted = await location.hasPermission();
  15. if (_permissionGranted == PermissionStatus.denied) {
  16. _permissionGranted = await location.requestPermission();
  17. if (_permissionGranted != PermissionStatus.granted) {
  18. throw Exception("请设置允许当前程序定位功能");
  19. }
  20. }
  21. _locationData = await location.getLocation();
  22. return _locationData;
  23. }