uniapp中App开发使用高德SDK获取定位
第一步 安装JRE8环境,如有可跳过
这一步网络上有很多完整的教程,记得配置环境就行。
第二步 生成签名证书(使用JRE环境中的keytool命令)
-
进入jre的根目录,在此目录打开cmd,输入下面keytool命令后回车
```
keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore test.keystore
• testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
• test.keystore是证书文件名称,可修改为自己想设置的文件名称
```
2. 之后会出现下面代码,按其提示填写即可。个人开发的话随便填。
```
Enter keystore password: //输入证书文件密码,输入完成回车
Re-enter new password: //再次输入证书文件密码,输入完成回车
What is your first and last name?
[Unknown]: //输入名字和姓氏,输入完成回车
What is the name of your organizational unit?
[Unknown]: //输入组织单位名称,输入完成回车
What is the name of your organization?
[Unknown]: //输入组织名称,输入完成回车
What is the name of your City or Locality?
[Unknown]: //输入城市或区域名称,输入完成回车
What is the name of your State or Province?
[Unknown]: //输入省/市/自治区名称,输入完成回车
What is the two-letter country code for this unit?
[Unknown]: //输入国家/地区代号(两个字母),中国为CN,输入完成回车
Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct?
[no]: //确认上面输入的内容是否正确,输入y,回车
Enter key password for <testalias>
(RETURN if same as keystore password): //确认证书密码与证书文件密码一样(HBuilder|HBuilderX要求这两个密码一致),直接回车就可以
```
第三步 查看证书信息,保存SHA1码
证书如果按上面步骤生成后会在jre根目录下,证书文件名字为test.keystore。cmd中输入以下命令可查看证书信息,复制保存好其中的SHA1码。
keytool -list -v -keystore test.keystore
Enter keystore password: //输入密码,回车
第四步 注册高德地图sdk服务
- 进入高德开发平台,注册登录后点击 应用管理—我的应用。
- 点击创建新应用,填写应用类型和应用名称后,点击新建
- 点击新创建应用的设置,填写关键信息。
- 发布版安全码为上面保存的SHA1码,PackageName为uniapp的包名。
包名获取:打开uniapp的项目,依次点击 运行-运行到手机或模拟器-制作自定义调试基座。其中的Android包名就是:
- 提交后就有了key,暂时别关这个界面
第五步 uniapp对接高德sdk。
- 进入uniapp,依次打开 manifest.json-App模块配置-Maps,勾选高德地图,打开刚刚的高德开发平台网页,将key值粘贴到appkey_android上。(appkey_ios也可以先填上同样的key,以后要用再回来改)
- 依次点击 运行-运行到手机或模拟器-制作自定义调试基座,将各信息填写完毕。证书别名为图例,密码为自己设置的密码,文件路径在本文第三步中有说到。选择传统打包点击打包。
- 依次点击 运行-运行到手机或模拟器-运行到Android App基座,选择自定义基座。点击运行即可。
补充-关于代码方面
我用的是uni.getLocation来获取位置信息,此api有几个注意事项:
- 如果是安卓app开发,type必须为gcj02
- geocode参数必须写上,且值为true
- success回调中,address便是解析后的位置信息,为数组形式。