赞
踩
调用uni-app
官方API中的uni.chooseLocation()
,即打开地图选择位置。
<button @click="getAddress">获取定位</button>
const getAddress = () => {
uni.chooseLocation({
success: res => {
console.log(res);
console.log('位置名称:' + res.name);
console.log('详细地址:' + res.address);
console.log('纬度:' + res.latitude);
console.log('经度:' + res.longitude);
}
});
}
{
"name": "雨花街道民智路12-5号南京证大喜玛拉雅中心",
"latitude": 31.964383,
"longitude": 118.804811,
"address": "江苏省南京市雨花台区雨花街道民智路12-5号南京证大喜玛拉雅中心",
"errMsg": "chooseLocation:ok"
}
const getAddress = () => {
uni.getLocation({
type: 'wgs84',
success: function(res) {
console.log(res);
},
fail: function(error) {
console.error('获取位置失败:', error);
}
});
}
{
"type": "wgs84",
"altitude": 0,
"latitude": 31.966442,
"longitude": 118.799641,
"speed": 0.036327,
"accuracy": 32,
"errMsg": "getLocation:ok"
}
// 获取经纬度 省市区 详细地址
const chooseLocation = () => {
uni.getLocation({
// gcj02 返回国测局坐标(App 和 H5 需配置定位 SDK 信息才可支持 gcj02。)
type: 'gcj02',
// 是否解析地址信息(仅App平台支持(安卓需指定 type 为 gcj02 并配置三方定位SDK))
geocode: true,
success: function(res) {
console.log(res);
}
});
}
{ "type": "gcj02", "altitude": 0, "latitude": 31.96437, "longitude": 118.804836, "speed": 0, "accuracy": 34, "address": { "country": "中国", "province": "江苏省", "city": "南京市", "district": "雨花台区", "street": "民智路", "streetNum": "12-2号", "poiName": "喜玛拉雅中心C座", "cityCode": "025" }, "errMsg": "getLocation:ok" }
登录高德开放平台 ,https://console.amap.com/dev/key/app
找到“我的应用”
key
。Android
平台的话需要多填写一个SHA1
安全码的信息,iOS
不需要填写。https://blog.csdn.net/qq_44741577/article/details/139090838?spm=1001.2014.3001.5501
找到个人中心
用户名如下
这里的ios的key我没生成(需要苹果系统),但是配置文件又是必填,我瞎写了一个,不影响Android端使用
注意:
- 必须保证在生成高德
key
的时候,发布版的SHA1
的值和Dcloud
项目云端证书的的SHA1
的值相同,否则打包好的app
,打开地图会一直处在加载中的状态- 必须保证高德地图申请
key
的包名和uniapp
打包时的包名一致。
如何查看云端证书的SHA1,详解查看如下链接:
https://blog.csdn.net/qq_44741577/article/details/139155101?spm=1001.2014.3001.5501
如何查看包名
下面以为自己为例
我的证书的生成命令是:
keytool -genkeypair -alias android -keysize 2048 -validity 36500 -keyalg RSA -keystore D:\keystore\apk.keystore
这个命令中的参数的意思为:
- -genkeypair:生成一对非对称密钥(可选
-genkey
)。- -alias:指定条目以及密钥对的别名,该别名是公开的。
- -keysize 2048指定证书大小
- -validity 36500指定证书有效期
- -keyalg:指定加密算法,本例中采用通用的RSA算法。
- -keystore:设定密钥库文件的存放路径以及文件名字。(存放路径
D:\keystore\
不写,默认存储到你当前cmd
执行的目录)
keytool -list -v -keystore D:\keystore\apk.keystore
根据以上信息可得出
- 证书别名:
android
- 证书私钥密码: 就是你生生成证书的时候填写密码
- 证书文件地址:
D:\keystore
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。