uniapp中App开发使用高德SDK获取定位

1,489 阅读3分钟

uniapp中App开发使用高德SDK获取定位

第一步 安装JRE8环境,如有可跳过

这一步网络上有很多完整的教程,记得配置环境就行。

第二步 生成签名证书(使用JRE环境中的keytool命令)

  1. 进入jre的根目录,在此目录打开cmd,输入下面keytool命令后回车

image-20221112155919991.png

```
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: //输入密码,回车

image-20221112160305449.png

第四步 注册高德地图sdk服务

  1. 进入高德开发平台,注册登录后点击 应用管理—我的应用。

image-20221112152535646.png

  1. 点击创建新应用,填写应用类型和应用名称后,点击新建

image-20221112152650103.png

  1. 点击新创建应用的设置,填写关键信息。
image-20221112152751562.png
  1. 发布版安全码为上面保存的SHA1码,PackageName为uniapp的包名。

包名获取:打开uniapp的项目,依次点击 运行-运行到手机或模拟器-制作自定义调试基座。其中的Android包名就是:

image-20221112153142508.png

  1. 提交后就有了key,暂时别关这个界面

image-20221112153310910.png

第五步 uniapp对接高德sdk。

  1. 进入uniapp,依次打开 manifest.json-App模块配置-Maps,勾选高德地图,打开刚刚的高德开发平台网页,将key值粘贴到appkey_android上。(appkey_ios也可以先填上同样的key,以后要用再回来改)

image-20221112153826427.png

  1. 依次点击 运行-运行到手机或模拟器-制作自定义调试基座,将各信息填写完毕。证书别名为图例,密码为自己设置的密码,文件路径在本文第三步中有说到。选择传统打包点击打包。

image-20221112155740058.png

  1. 依次点击 运行-运行到手机或模拟器-运行到Android App基座,选择自定义基座。点击运行即可。

补充-关于代码方面

我用的是uni.getLocation来获取位置信息,此api有几个注意事项:

  1. 如果是安卓app开发,type必须为gcj02
  2. geocode参数必须写上,且值为true
  3. success回调中,address便是解析后的位置信息,为数组形式。