DBMNG数据库管理与应用

抓住自己最有兴趣的东西,由浅入深,循序渐进地学……
当前位置:首页 > 移动应用 > 微信开发

微信小程序wx.getLocation没有弹出直接返回fail:invalid data

昨天小程序遇到了一个坑,坑的我浪费了2个小时加班也没查出来,百度,google都没有,社区提问今天反馈也没出来结果,代码很简单,几乎是微信官方文档源代码,没对api进行从任何操作 

场景:老板的mate10在应该触发wx.getLocation接口弹出请求允许获取对话框的情况下没有成功,直接fail,返回信息fail:invalid data 

代码:

  onShow: function() {

    console.log('进入show')

    if (!wx.getStorageSync('city')){

      console.log('城市不存在')

      this.getAddress();

    }

    this.getAllList();    

  },


  //获取地址

  getAddress() {

  var that = this;

  //1、获取当前位置坐标

  wx.getLocation({

    'type': 'wgs84',

    success: function(res) {

      console.log('wgs84  ')

      //2、根据坐标获取当前位置名称,显示在顶部:腾讯地图逆地址解析

      qqmapsdk.reverseGeocoder({

        location: {

          latitude: res.latitude,

          longitude: res.longitude

        },

        success: function(addressRes) {

          console.log('获取位置成功')

          var address = addressRes.result.ad_info.city;

          var cityCode = addressRes.result.ad_info.city_code;

          that.setData({

            city: address,

            cityCode: cityCode,

          })

          wx.setStorage({

            key: 'city',

            data: address,

            success: function(res) {

              console.log('设置位置成功')

            }

          })

          wx.setStorage({

            key: 'cityCode',

            data: cityCode,

            success: function(res) {

              console.log(res)

            }

          })

          console.log(that.addressNow);

        }

      })

    },

    cancel: function (res) {

      console.log('wgs84cacel',res);

    },

    fail: function (res) {

      //返回fail:invalid data

      console.log('wgs84fail',res);  

    }

  })

},


success里面是反解析 不用看了,没有运行,直接运行了fail 返回了fail:invalid data。 

查不到这个报错提示,虽然翻译过来时‘错误的数据’,但是该api是官方提供,且只传了一个type:‘wgs84’,


最后想到一个办法


fail: function (res) {

   console.log('wgs84fail', res);

   //被拒绝再次拉去请求

   wx.authorize({ scope: "scope.userLocation" })

 }


关键的转折来了……,我将代码部署之后测试解决了,但是我发现我部署代码的时候把wx.authorize({ scope: “scope.userLocation” })注释掉了……,也就是这个方法我一点也没改动……但是解决了…… 未解之谜

--------------------- 

from:https://blog.csdn.net/weixin_42275932/article/details/81947190 


本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号