收藏
回答

请问一下wx.getLocation这个方法调用是否有频率限制?

请问一下wx.getLocation这个方法调用是否有频率限制。我在手机测试,打开了gps,然后在请求频率不高的情况下能够有返回值。但是请求频率较高后,一直无任何返回,不管是失败还是成功的返回都没有,感觉是方法调用被阻塞了。

回答关注问题邀请回答
收藏

2 个回答

  • Tanxy
    Tanxy
    2019-08-13

    手机型号:红米note7 pro

    微信版本号:Version 7.0.6

    系统版本(安卓版本?):9

    代码片段:

    下面函数调用频率很高的时候,就阻塞了,且没有任何返回结果,微信小程序退到后台以后,隔了大概5分钟,小程序也没有被销毁,因为我在界面onshow方法里调用了这个方法,如果被销毁了,这个方法会重新被调用,但是并没有重新调用,或者可能是调用了没有返回结果。

    https://developers.weixin.qq.com/s/9O2KPBm776ap

    function getCurrentLocation(obj) {

        wx.getLocation({

          type: "gcj02",

          success: function (res) {

            if(res.latitude != obj.data.latitude || res.longitude != obj.data.longitude){

              obj.setData({

                'longitude': res.longitude,

                'latitude': res.latitude

              });

              searchPoints(obj, points)

            }  

          },

          fail: function (res){

            console.log("Fail " + res);

            wx.hideLoading();

            wx.getSetting({

              success(settingRes) {

                if (!settingRes.authSetting["scope.userLocation"]) {

                  wx.showModal({

                    title: '授权提示',

                    content: '需要获取您的地理位置,请确认授权,否则地图功能将无法使用!',

                    success: function (tip) {

                      if (tip.confirm){

                        wx.openSetting({

                          //点击确定则调其用户设置

                          success: function (data) {

                            if (data.authSetting["scope.userLocation"] === true) {

                              //如果设置成功

                              wx.showToast({

                                //弹窗提示

                                title: "授权成功",

                                icon: "success",

                                duration: 1000

                              });

                              wx.showLoading({

                                title: '数据正在加载...',

                              }),

                              wx.getLocation({ 

                                type: "gcj02",

                                success: function (res) {

                                    obj.setData({

                                      'longitude': res.longitude,

                                      'latitude': res.latitude

                                    });

                                    searchPoints(obj, points)

                                  }

                               })

                             }

                           }

                        })

                      }

                    }

                  })

                }

              }

            })     

          },

          complete:function(){

            wx.vibrateLong();

          }

        })

       

    }


    2019-08-13
    有用
    回复
  • 灵芝
    灵芝
    2019-08-13

    麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2019-08-13
    有用
    回复
登录 后发表内容
问题标签