jua*_*rti 10 android dart flutter
我在我的颤振页面中包含了一个简单的 GoogleMap 组件,只是为了看看它是否有效,但我无法解决这个问题。我编译了应用程序,当我导航到页面时,控制台中出现以下错误:
“E/GoogleMapController(3376):由于未授予位置权限,因此无法启用 MyLocation 图层”
我可以看到组件,但我看不到地图(见图):

新增配置:
//(AndroidManifest.xml)
<meta-data android:name="com.google.android.geo.API_KEY" android:value="apikey"/>
//(pubspec.yaml)
google_maps_flutter: ^0.5.0
Run Code Online (Sandbox Code Playgroud)
编辑 - 解决方案
添加权限包以请求权限。你可以安装这个包来管理你的权限:https : //pub.dartlang.org/packages/permission
小智 7
android.permission.ACCESS_FINE_LOCATION被认为是危险的许可。您是否使用该permission包来请求许可?https://pub.dartlang.org/packages/permission
截至2019 年 12 月, 我未能成功使用权限插件。即使在添加必要的清单数据并将项目升级到Android API 29它之后,仍然返回PermissionStatus.notAgain.
有效的是添加permissions_handler插件和他们提供的清单数据(只是位置部分)。此外,升级Android的API,以29详见这里和改变compileSDKVersion,并targetSdkVersion在android/app/build.gradle到29。
Mainfest 数据,就<application>在目录中的标签之前android/app/src/main/AndroidManifest.xml
<!-- Permissions options for the `location` group -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
重新启动 IDE 以确保所有这些更改生效。然后在您的应用程序中请求权限:
import 'package:permission_handler/permission_handler.dart';
void setPermissions() async{
Map<PermissionGroup, PermissionStatus> permissions =
await PermissionHandler().requestPermissions([PermissionGroup.location]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12523 次 |
| 最近记录: |