我们在用 uni-app 开发微信小程序时,有时需要通过获取用户的地理位置信息。官方提供了 uni.getLocation API 接口,如下:

uni.getLocation({
    type: 'gcj02',
    success: res => {
        console.log('当前位置:' + res.longitude + ',' + res.latitude)
    },
    fail: err => {
        console.error(err)
    }
})

由于官方文档说明不够详细,直接使用时可能会提示“getLocation 需要在 app.json 中申明 permission 字段”。其实微信小程序提示的是编译后的微信小程序体系内的代码位置,对应在 uni-app 中的工程文件 manifest.json 里面。直接通过修改文件 manifest.json 中的配置就可以了。

方法一:通过文件的源码视图修改:

{
    "mp-weixin" : {
        ………………
        "permission" : {
            "scope.userLocation" : {
                "desc" : "用于显示附近优惠" // 此处可以修改成自己的权限提示文本
            }
        }
    }
}

方法二:通过界面可视化配置:

配置完成记得重新编译,并重启微信开发者工具。