获取定位
原创...大约 1 分钟
定位
定位是一个很常用的功能,我们在定位时可有以下选择
精准定
wx.getLocation()
模糊定位
wx.getFuzzyLocation()
提示
使用该功能时需要提前在小程序后台申请开通定位的相关权限
- 开启权限
在 app.json 中进行声明
{
"requiredPrivateInfos": ["getFuzzyLocation"]
}
获取经纬度:
<view bindtap="getAdd">定位</view>
Page({
getAdd() {
wx.getFuzzyLocation({
type: "wgs84",
success(res) {
const latitude = res.latitude;
const longitude = res.longitude;
console.log(latitude, longitude);
},
fail(err) {
console.log(err);
},
});
},
});
这样我们就能拿到经纬度了
逆向地址解析
Page({
getAdd() {
wx.getFuzzyLocation({
type: "wgs84",
success(res) {
wx.request({
url: "https://restapi.amap.com/v3/geocode/regeo",
data: {
output: "json",
location: `${res.longitude},${res.latitude}`,
key: "XXXXXXXXXXXXXXXXXXXXXXXXX",
extensions: "base",
batch: false,
},
success: (result: any) => {
console.log("通过经纬度逆地址解析", result);
},
});
},
});
},
});
这样我们就能通过经纬度来解析到用户具体的地理位置了
提示
这里我使用的是高德地图,请把请求参数的 key 替换成你在高德地图开放平台中申请的应用的 key
选择地址
- 开启权限
在 app.json 中进行声明
{
"requiredPrivateInfos": ["chooseLocation"]
}
- 选择附近地址
<view bindtap="getAdd">选择自己实际的地理位置</view>
Page({
getAdd() {
wx.chooseLocation({
success: function (res: any) {
console.log(res);
},
});
},
});
Powered by Waline v2.15.7