我正试图在Flutter中创建一个移动应用程序。
按下按钮时,我需要获取用户位置。在网上阅读时,我发现了一些有用的例子,并根据一些教程编写了一些代码行。
Future<void> getLocation() async {
var _serviceEnabled = await location.serviceEnabled();
if (!_serviceEnabled) {
_serviceEnabled = await location.requestService();
if (!_serviceEnabled) {
return;
}
}
var _permissionGranted = await location.hasPermission();
if (_permissionGranted == PermissionStatus.denied) {
_permissionGranted = await location.requestPermission();
if (_permissionGranted != PermissionStatus.granted) {
return;
}
}
var currentLocation = await location.getLocation();
setState(() {
current = currentLocation;
string = currentLocation.latitude!.toString() +
' ' +
currentLocation.longitude!.toString();
});
}
有了这段代码,我应该能够用用户位置的纬度和经度更新字符串的文本。
它无法正常工作。有人能帮我吗?
我正在使用Android Studio来启动带有模拟器的应用程序
[解决]问题出在模拟器上。
在模拟器中启动应用程序时,我无法获取位置。我试着在物理设备上(使用安卓系统(启动该应用程序,结果成功了。问题可能是模拟器被弃用了。