我正在尝试通过获取当前用户位置来加载Google地图。
当我第一次注册(firebase)时,它将要求位置许可,然后只会发生此异常。 (我登录时没有此权限,但在第一次注册之后)。
这是我在pubspec.yaml中的Geolocator和位置插件
geolocator: ^4.0.2 version
location: ^2.0.0
我该如何解决这个问题?
答案 0 :(得分:0)
作为官方示例,您应该首先检查权限。像这样
Widget build(BuildContext context) {
return FutureBuilder<GeolocationStatus>(
future: Geolocator().checkGeolocationPermissionStatus(),
builder:
(BuildContext context, AsyncSnapshot<GeolocationStatus> snapshot) {
if (!snapshot.hasData) {
return const Center(child: CircularProgressIndicator());
}
if (snapshot.data == GeolocationStatus.denied) {
return const PlaceholderWidget('Access to location denied',
'Allow access to the location services for this App using the device settings.');
}
return Center(.... your code)
您可以在https://github.com/Baseflow/flutter-geolocator/tree/develop/example
中找到完整的示例