uniapp根据定位打开地图选择某个地点
uniapp中打开地图选择位置获取位置信息
·
getMapLocation () {
// 判断是否有地理授权信息
uni.getSetting({
success: (res) => {
console.log('获取授权信息', res)
var status = res.authSetting
if (!status['scope.userLocation']) { // 如果授权信息中没有地理位置的授权,则需要弹窗提示用户需要授权地理信息
uni.showModal({
title: '是否授权当前位置',
content: '需要获取您的地理位置,请确认授权,否则地图功能将无法使用',
success: (tip) => {
if (tip.confirm) {
uni.openSetting({
success: (data) => {
// 如果用户授权了地理信息在,则提示授权成功
if (data.authSetting['scope.userLocation'] === true) {
uni.showToast({
title: '授权成功',
icon: 'success',
duration: 1000
})
// 授权成功后,调用chooseLocation选择信息
uni.chooseLocation({
success: (res) => {
// 这里获取到的res就是选择的地点的信息,包括经纬度,名称等
console.log('详细地址', res)
}
})
} else {
uni.showToast({
title: '授权失败',
icon: 'none',
duration: 1000
})
}
}
})
}
}
})
} else {
// 用户授权过,直接调用选择地址
uni.chooseLocation({
success: (res) => {
// 这里获取到的res就是选择的地点的信息,包括经纬度,名称等
console.log('详细地址', res)
}
})
}
},
fail: (res) => {
uni.showToast({
title: '调用授权窗口失败',
icon: 'none',
duration: 1000
})
}
})
},
说明: 在需要触发打开地图的地方调用这个方法。
在manifest.json文件中添加上图配置。
uni.openSetting(OBJECT) | uni-app官网 uni.getSetting() 获取用户的当前设置。
uni.openSetting() 调起客户端小程序设置界面,返回用户设置的操作结果。
uni.chooseLocation() 打开地图选择位置。
更多推荐
已为社区贡献2条内容
所有评论(0)