Flutter高德定位&&定位权限管理
- Flutter获取定位
- 1 . 去高德开放平台申请API获取key值
- 2 . 获取项目的ApplicationID
- 3 . 获取本机电脑的sha1值
- 4. 配置build.grade和AndroidMainifest.xml文件
- 5.引入高德地图插件(本人使用amap_location)
- 6.写函数代码
- 7.在项目下创建 keystore
- 8.在项目下创建 key.properties
- 9.配置Android/app/build.grade中的debug和release,修改buildTypes>release
- 10.用命令行输入指令,打开key.jks文件获取签名文件
- 11.将获取到的sha1值重新写到高德的应用管理中
- Flutter定位权限管理
- 特别注意:
Flutter获取定位
1 . 去高德开放平台申请API获取key值
2 . 获取项目的ApplicationID
D:\VS_history\speedtest1\android\app\src\main\AndroidMainifest.xml
3 . 获取本机电脑的sha1值
在cmd命令行中获取:
1.win+r输入cmd,按Enter
2.输入指令 : keytool -list -v -keystore "路径\.android\debug.keystore" -alias
androiddebugkey -storepass android -keypass androidd
3.得到下列内容
别名: androiddebugkey
创建日期: ------
条目类型: ------
证书链长度: 1
证书[1]:
所有者: C=US, O=Android, CN=Android Debug
发布者: C=US, O=Android, CN=Android Debug
序列号: 1
有效期开始日期: ------, 截止日期: ------
证书指纹:
MD5: ------
SHA1: ---要求获取的sha1值---
SHA256: -----
签名算法名称: SHA1withRSA
版本: 1
4. 配置build.grade和AndroidMainifest.xml文件
在build.grade中配置:
defaultConfig {
applicationId "package名字"
manifestPlaceholders = [
AMAP_KEY : "-------", /// 高德地图key
]
}
在AndroidMainifest.xml中配置:
<meta-data
android:name="填入packageId"
android:value="高德地图的key" />
5.引入高德地图插件(本人使用amap_location)
在pubspec.yaml引入:
dependencies:
flutter:
sdk: flutter
amap_location:
6.写函数代码
await AMapLocationClient.startup(new AMapLocationOption(
desiredAccuracy: CLLocationAccuracy.kCLLocationAccuracyHundredMeters));
//打开高德sdk
AMapLocationClient.getLocation(true).then((address) {
loca1 = address.latitude.toStringAsFixed(2);
loca2 = address.longitude.toStringAsFixed(2);
loca3 = address.district.toString();
setState(() {});
print("$loca3 :($loca2 , $loca1)");
//获取 城市:(精度,纬度)
以上方法使用的是本机的签名文件,APP不可共享
以 下 操 作 可 实 现 A P P 的 共 享
7.在项目下创建 keystore
在cmd命令行输入:
keytool -genkey -v -keystore d:/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
8.在项目下创建 key.properties
key.properties 文件内容为:
storePassword=xxx --创建keystore时的密码
keyPassword=xxx --创建keystore时的密码
keyAlias=key
storeFile=d:/key.jks --key.jks的路径
9.配置Android/app/build.grade中的debug和release,修改buildTypes>release
在 buildTypes 上面一行新增
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
debug {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}
buildTypes>release 则修改为:signingConfig signingConfigs.release
10.用命令行输入指令,打开key.jks文件获取签名文件
1.转到Android文件下:cd .android
2.输入指令:keytool -list -v -keystore debug.keystore
11.将获取到的sha1值重新写到高德的应用管理中
Flutter定位权限管理
1.引入包
在pubspec.yaml中引入:location_permissions: ^2.0.0
2.请求许可
PermissionStatus permission1 =
await LocationPermissions().requestPermissions(); //请求许可
特别注意:
仅供参考学习,转载请附上原文链接
分享学习心得,如有侵权,望联系本人处理
还在读大学的程序员,项目经验少,如有纰漏,感谢指正
需要源代码请联系本人
谢谢配合
如果这篇文章对您有帮助,小小的点个赞,算是给小学弟的鼓励吧!谢谢大佬!!/呱呱.jpg