收藏
回答

小程序地图调用为什么报错:getLocation:fail 频繁调用会增加电量损耗?

利用腾旭地图计算距离,在开发者工具中调试没有问题,一到真机调试,或是体验版正式版上就会报错

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

3 个回答

  • 安逸
    安逸
    2021-05-24

    当前小程序频繁调用wx.getLocation接口会导致用户手机电量消耗较快,请开发者改为使用持续定位接口wx.onLocationChange,该接口会固定频率回调,使用效果与跟频繁调用getLocation一致。

    从基础库2.17.0版本起(预计发布时间2021.4.9),将对getLocation接口增加频率限制,包括:

    在开发版或体验版中,30秒内调用getLocation,仅第一次有效,剩余返回fail。

    正式版中,为保证小程序正常运行同时不过度消耗用户电量,一定时间内(根据设备情况判断)调用getLocation,仅第一次会返回实时定位信息,剩余返回与第一次定位相同的信息。

    未做好兼容调整可能会影响用户体验,请开发者尽快适配。

    具体请参考社区公告https://developers.weixin.qq.com/community/develop/doc/000aee91a98d206bc6dbe722b51801

    2021-05-24
    有用 2
    回复 3
    • 哈罗哈皮
      哈罗哈皮
      2021-05-24
      老铁,没毛病
      2021-05-24
      回复
    • promise future
      promise future
      2021-05-24
      但是腾讯地图的JavaScriptSDK还是用的getLocation,要自己改动吗?怎么改?
      2021-05-24
      回复
    • 安逸
      安逸
      2021-05-24回复promise future
      解决方案有很多,例如:
      1、减少调用频率 如缓存等。
      2、完善调用失败后的处理逻辑 如可以根据实际情况决定是否使用缓存 或 让用户手动选择位置(wx.chooseLocation)等。
      2021-05-24
      2
      回复
  • 飞奔的刘海
    飞奔的刘海
    2023-02-20

    wx.getLocation返回成功后调用wxmapsdk.reverseGeocoder报错

    错误:请求来源未被授权, 解决方法见:https://lbs.qq.com/faq/serverFaq/webServiceKey。此次请求来源域名:servicewechat.com

    解决:将servicewechat.com添加到https://lbs.qq.com/dev/console/application/mine的项目key配置中

    -

    错误:getLocation:fail 频繁调用会增加电量损耗,可考虑使用 wx.onLocationChange 监听地理位置变化

    解决:从基础库2.17.0版本开始,将会对getLocation 接口进行频率限制,包括在开发版本和体验版本中,30s内调用除第一次后,剩余返回fail。但是在正式版本中将不会走fail块,剩余会返回与第一次定位相同的信息。此处带来的限制是在30s内只会触发一次来限制频率,所以不需要太担心,并不会影响业务逻辑

    解决:清缓存,重新编译运行

    解决:wxmapsdk.reverseGeocoder()未指定location参数,将wx.getLocation获取到的longitude和latitude传入即可


    2023-02-20
    有用 1
    回复
  • 朱先生
    朱先生
    2023-02-22

    我的手机第一次调用就提示频繁调用,间隔很长时间也不可以什么原因,缓存也清理了

    2023-02-22
    有用
    回复
登录 后发表内容