C V 传值即可使用
// 没有在登录的时候获取自己的定位 而是点击事件 调用viewMapLocation()这个方法时获取了自己的定位
//因考虑到用户拒绝获取自己的定位所以当用户再次点击后会唤起设置让用户打开定位
// 这里传入的三个参数分别是 要去的 经度 纬度 以及 地址信息
viewMapLocation(longitude , latitude , address) {
// 这里因为我是子组件传参过来了导致 经纬度变成了String 类型所以进行了一次转换
let latitude = Number(latitude );
let longitude = Number(longitude );
// 获取定位信息
uni.getLocation({
type: 'wgs84', //返回可以用于uni.openLocation的经纬度
// 用户允许获取定位
success: function (res) {
console.log(res,'经纬度')
if(res.errMsg=="getLocation:ok") {
console.log(latitude)
console.log(longitude)
uni.openLocation({
// 传入你要去的纬度
latitude:latitude,
// 传入你要去的经度
longitude:longitude,
// 传入你要去的地址信息 不填则为空
address:address,
// 缩放大小
scale:18,
success: function () {
console.log('success');
}
});
}
},
// 用户拒绝获取定位后 再次点击触发
fail:function(res) {
console.log(res)
if(res.errMsg == "getLocation:fail auth deny"){
uni.showModal({
content:'检测到您没打开获取信息功能权限,是否去设置打开?',
confirmText: "确认",
cancelText:'取消',
success: (res) => {
if(res.confirm ){
uni.openSetting({
success: (res) => {
console.log('确定');
}
})
}else {
console.log('取消');
return false;
}
}
})
}
}
});
},
// 切记这里必须配置否则会报错 看看下图