8***@qq.com
8***@qq.com
  • 发布:2024-09-12 15:53
  • 更新:2024-09-12 22:37
  • 阅读:114

【报Bug】plus.geolocation.watchPosition 设置 geocode为false后,仍然会继续调用逆地理解析

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win 11

HBuilderX类型: 正式

HBuilderX版本号: 3.8.12

手机系统: 全部

手机厂商: 华为

页面类型: nvue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

测试过的手机:

线上用户的所有设备

示例代码:
this.watchLocationId = plus.geolocation.watchPosition(function(address) {  
                    console.log('watch', address);  
                }, function(e) {  
                    console.log(e);  

                }, {  
                    provider: 'amap',  
                    //是否使用高精度设备,如GPS。默认是true    
                    enableHighAccuracy: true,  
                    //超时时间,单位毫秒,默认为0    
                    timeout: 10000,  
                    //使用设置时间内的缓存数据,单位毫秒    
                    //默认为0,即始终请求新数据    
                    //如设为Infinity,则始终使用缓存数据    
                    maximumAge: 0,  
                    geocode: false, // 禁止解析位置  
                })

操作步骤:

使用上述代码进行调用,调用后异常消耗了逆地理解析次数

预期结果:

不消耗逆地理解析次数

实际结果:

消耗定位次数时,也消耗了逆地理解析次数

bug描述:

https://www.html5plus.org/doc/zh_cn/geolocation.html#plus.geolocation.PositionOptions
geocode: (Boolean 类型 )是否解析地址信息
解析的地址信息保存到Position对象的address、addresses属性中,true表示解析地址信息,false表示不解析地址信息,返回的Position对象的address、addresses属性值为undefined,默认值为true。 如果解析地址信息失败则返回的Position对象的address、addresses属性值为null。

plus.geolocation.watchPosition 按照文档中设置 geocode为false后,仍然会继续调用逆地理解析,导致线上环境的高德API key调用超限,应用停止服务

我在GitHub上查看源码:
https://github.com/dcloudio/H5P.Android/blob/765e916e87db5670868257ad1a4d27d996704178/feature/geolocation-amap/src/io/dcloud/js/geolocation/amap/AMapGeoManager.java

发现isGeoCode变量并未影响到mOption.setNeedAddress(boolean)的设置,只在返回结果时判断是否添加地理位置信息。

请紧急处理此BUG!!!
请紧急处理此BUG!!!
请紧急处理此BUG!!!

2024-09-12 15:53 负责人:无 分享
已邀请:
DCloud_heavensoft

DCloud_heavensoft

临时可以先使用定时器来解决,先不用Watch。
Plus已经好久没更新了 我们后续排期处理

  • 8***@qq.com (作者)

    getCurrentPosition也有这个问题。

    使用uni.getLocation是同样调用plus的代码还是另外有一套实现?

    2024-09-13 08:48

要回复问题请先登录注册