getLocation2.17.0版本起仅第一次会返回实时定位信息。什么情况下算第一次?
if (wx.getSetting) {
wx.getSetting({
success: (res) => {
if (res.authSetting['scope.userLocation'] != undefined && res.authSetting['scope.userLocation'] != true) {
wx.showModal({
title: '请求授权当前位置',
content: '需要获取您的地理位置,请确认授权',
success: function (res) {
if (res.confirm) {
wx.openSetting({
})
} else if (res.cancel) {
wx.showModal({
title: '提示',
content: '授权失败',
showCancel: false
})
wx.removeStorage('tempAddrInfo_dingwei');
return;
}
}
})
} else {
wx.getLocation({ //授权获取当前位置信息
type: 'gcj02',
success(res) {
qqmapsdk_dizhi(that, qqmapsdk, res.latitude, res.longitude);
},
fail(res) { //请求频率第一次返回当前未知信息,剩余返回第一次位置信息
wx.showModal({
title: '提示',
content: '无法获取您的位置信息,请到设置—>微信—>位置中检查是否打开定位服务并允许访问您的定位。并重新进入小程序',
})
}
})
}
}
})
} else {
// 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
wx.showModal({
title: '提示',
content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
})
return;
}
这里点击拒绝
然后在次进入页面,会再次进入页面点击确认授权后会调转到这里
确认授权后获取用户位置提示:调用太频繁。
更新公告中:
正式版中,为保证小程序正常运行同时不过度消耗用户电量,一定时间内(根据设备情况判断)调用getLocation,仅第一次会返回实时定位信息,剩余返回与第一次定位相同的信息。
这里的“第一次”是指调正式版,调用成功时算第一次,还是说调用失败时也算第一次?