问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 微信小程序 Bug 地理位置 客户端 6.7.4 2.4.0
如题所示
我这边功能是做出来了,IOS没有问题,每次打开微信小程序,右上角有指南针显示,说明能获取地理位置
但是有些安卓手机,如果微信获取地理位置的权限是询问的话,微信小程序就没有获取地理位置的弹框
微信获取地理位置的权限是允许的话,就没这个问题
获取地理位置功能在app.js的onShow里面.直接用高德的sdk获取地理位置
代码:
loadLocation: function() {
var that = this;
var myAmapFun = new amap.AMapWX({
key: aMapKey
});
myAmapFun.getRegeo({
success: function(res) {
console.log(res);
// console.log(res[0].regeocodeData.addressComponent.province); //省份
// console.log(res[0].regeocodeData.addressComponent.city); //市
// console.log(res[0].regeocodeData.addressComponent.district); //区
if (res[0].regeocodeData.addressComponent.city[0]) {
that.globalData.positioning = res[0].regeocodeData.addressComponent.province + "-" + res[0].regeocodeData.addressComponent.city + "-" + res[0].regeocodeData.addressComponent.district;
//四个直辖市没有城市值,直接省-区
console.log(that.globalData.positioning);
} else {
that.globalData.positioning = res[0].regeocodeData.addressComponent.province + "-" + res[0].regeocodeData.addressComponent.district;
console.log(that.globalData.positioning);
}
that.globalData.latitudeLongitude = res[0].longitude + "," + res[0].latitude;
console.log(that.globalData.latitudeLongitude);//经纬度
//埋点:授权弹框允许
},
fail: function(res) {
console.log(res);
if (res.errMsg == "getLocation:fail auth deny") {
console.log("地理位置拒绝授权");
//埋点:授权弹框拒绝
}
}
});
代码片段
loadLocation: function() { var that = this; var myAmapFun = new amap.AMapWX({ key: aMapKey }); myAmapFun.getRegeo({ success: function(res) { console.log(res); // console.log(res[0].regeocodeData.addressComponent.province); //省份 // console.log(res[0].regeocodeData.addressComponent.city); //市 // console.log(res[0].regeocodeData.addressComponent.district); //区 if (res[0].regeocodeData.addressComponent.city[0]) { that.globalData.positioning = res[0].regeocodeData.addressComponent.province + "-" + res[0].regeocodeData.addressComponent.city + "-" + res[0].regeocodeData.addressComponent.district; //四个直辖市没有城市值,直接省-区 console.log(that.globalData.positioning); } else { that.globalData.positioning = res[0].regeocodeData.addressComponent.province + "-" + res[0].regeocodeData.addressComponent.district; console.log(that.globalData.positioning); } that.globalData.latitudeLongitude = res[0].longitude + "," + res[0].latitude; console.log(that.globalData.latitudeLongitude);//经纬度 //埋点:授权弹框允许 }, fail: function(res) { console.log(res); if (res.errMsg == "getLocation:fail auth deny") { console.log("地理位置拒绝授权"); //埋点:授权弹框拒绝 } } });
微信小程序开发问题解答
微信小程序开发者回答:
你进微信小程序有用authorize检测定位权限吗??
微信小程序开发者回答:
没,因为产品经理要求授权的弹框只能弹一次,用户如果拒绝授权就拒绝授权了.
而且后面询问的情况下,我看高德的log,没有获取到地理位置的msg也是授权被拒绝
微信小程序开发者回答:
那不就是,用户没授权定位也没用啊!
微信小程序开发者回答:
询问的情况下,点允许授权的,退出再进入就没有弹框,显示拒绝授权
本文网址:http://www.91bianli.com/weixinxiaochengxu/36893.html