在使用mui做移动端开发的时候,获取地理位置本身比较容易
mui.plusReady(function() {
// 获取地理位置
plus.geolocation.getCurrentPosition(function(position) {
longitude.innerText = position.coords.longitude; // 经度
latitude.innerText = position.coords.latitude; // 纬度
// 详细地址
positionAddress.innerText = position.address.province + position.address.city + position.address.district +
position.address.street;
}, function(e) {
mui.toast("异常:" + e.message);
})
})
在真机测试的时候,发现是没有问题的,可以正常显示经纬度和详细地址
打包之后发现只能获取到经纬度,但是获取不到详细位置
解决方法:
1. 需要在mnifest.json文件中配置appkey
2. 如何获取appkey
3. 如何获取SHA1
- 安装java环境,具体安装步骤——点击查看
- 使用cmd命令打开命令窗口,进入到安装jdk的bin目录下,使用keytool命令,
keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
生成证书- -validity为证书有效天数
- 在输入密码时没有回显(尽管输就是啦) 并且 退格
- 这个密码在给.apk文件签名的时候需要
- 接着是会提示你输入:姓氏,组织单位名称,组织名称,城市或区域名称,省市,国家、地区代码,密钥口令
- 例如
- 生成完成之后在jdk的bin目录之下就可以找到生成的keystore文件了,android.keystore就是刚才生成的文件了,打包android应用的时候就可以直接用了,不过一台电脑生成的keystore只能用一个应用。
- 获取:输入命令行和密码,即可获取SHA1等信息
- 命令行:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey
(注意目录选择、开发版本、发布版本等问题)