0

我正在做一个需要获取用户当前位置的项目我以前在颤振中使用过地理定位器插件,它工作正常,但突然停止显示包括错误在内的任何内容,所以我尝试使用位置插件来获取用户位置,但我进入了同样的问题它什么也没显示。

dependencies:
 location: ^4.2.0

将此添加到 AndroidManifest.xml 文件

<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>

这是 Location.dart 文件

 Future getLocation() async {
try {
  Location location = new Location();

  bool _serviceEnabled;
  String latitude_data;
  String longitude_data;

  PermissionStatus _permissionGranted;
  LocationData _locationData;

  _serviceEnabled = await location.serviceEnabled();
  if (!_serviceEnabled) {
    _serviceEnabled = await location.requestService();
    if (!_serviceEnabled) {
      return;
    }
  }

  _permissionGranted = await location.hasPermission();
  if (_permissionGranted == PermissionStatus.denied) {
    _permissionGranted = await location.requestPermission();
    if (_permissionGranted != PermissionStatus.granted) {
      return;
    }
  }

  _locationData = await location.getLocation();
  longitude_data=_locationData.longitude.toString();
  latitude_data=_locationData.latitude.toString();

  print(longitude_data);
  print(latitude_data);


} catch (e) {
  print(e);
}

}

void initState() {
super.initState();
getLocation();

}

在这里我调用 getLocaton 函数

                 Container(
                          margin: EdgeInsets.only(top: 30.0),
                          child: FlatButton(
                            padding: EdgeInsets.all(10.0),
                            child: Text(
                              'send',
                              style: TextStyle(
                                fontSize: 19.0,
                              ),
                            ),
                            textColor: KWhiteColor,
                            color: KInActiveColor,
                            onPressed: () {
                              // if (_formKey.currentState.validate()){
                                getLocation();
                                // Navigator.push(
                                //   context,
                                //   MaterialPageRoute(
                                //       builder: (context) => HomePage()),
                                // );
                              // }

                            },
                          ),
                       ),
4

0 回答 0