uni-app 获取地理位置,并打开第三方地图

810 阅读1分钟

uni-app 获取地理位置,并打开第三方地图,如果已拒绝地理授权,重新询问用户,是否开启权限

uni.getLocation({
        type: 'gcj02', //返回可以用于uni.openLocation的经纬度
        // 用户允许获取定位
        success: (res) => {
                const {
                        latitude,
                        longitude
                } = res;
                uni.openLocation({
                        latitude,
                        longitude,
                        name: '加油站',
                        address: '加油站详细地址',
                        success: (e) => {
                                console.log('success', e);
                        }
                });
        },
        // 用户拒绝获取定位后 再次点击触发
        fail: (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;
                                        }
                                }
                        })
                }
        }
});