最后发现不是手机问题,也不是微信问题,也不是基础库问题,重启一下手机定位就准了,真是耐人寻味的问题。
onLocationChange接口获取定位时从9月12或13号起精度降低,不知道怎么回事?手机:mi11U 系统:android 13 微信:8.0.41.2441 基础库:3.0.2(2023.9.12 15:41:38) 从9月13号起(也许是从12号起,发现12号灰度了一个基础库3.0.2版本)onLocationChange接口获取定位的精度明显降低,以前在室外空旷地带,精度基本能达到10米以下,并且位置变更时也能及时变化,得到新的定位坐标,现在发现在室外空旷地带的定位精度稳定在30米,且不能随着位置的变化及时得到变化后的定位坐标,后通过日志发现定位用的都是network,没有用到gps,如下图: [图片] 为了排除是手机的gps问题,用另外一个手机测试(室外空旷地),也是偶尔会用到gps,大多情况日志是network,排除手机gps问题或手机系统对微信的gps使用限制(实际系统设置都是对微信使用定位的最高权限。 在以前的基础库中(至少在12号以前的使用中),在室外的定位都是精度在10以下,且能及时获取新的定位,请问在新的基础库中是否是限制了接口能力,或者是什么原因导致目前使用持续定位接口获取的定位精度变差且更新延迟的情况呢?
2023-09-15问题复现了吗,进入问题处理流程了吗
Map的bindtap在基础库3.0.2下不重复触发了,但同时在polyline上单击根本就不触发了Map的bindtap在基础库3.0.2下不重复触发了,但同时在polyline上单击根本就不触发了。 之前的版本虽然会重复触发,但一次返回的是地图坐标(经纬度),一次返回的是屏幕坐标(x,y),虽然有问题,但通过写逻辑代码可以规避重复触发带来的问题,有这个BUG存在,其实也有好处,在polyline上单击,返回的是屏幕坐标,可以通过API转换成经纬度,间接达到在图标任意位置点击都可以得到经纬坐标。 3.0.2虽然解决重复触发的问题,但没有解决在polyline上单击不触发的问题,这样导致的结果就是虽然解决了bug,但让功能反而不完整了(新版本下在polyline上单击反而失效,以前版本重复触发,但至少单击有效,虽然返回的是屏幕坐标,但可以转换成经纬坐标) 之前有发贴反映Map上polyline单击失效的问题,但发现因为重复触发的BUG可以返回x,y的坐标,反而解决了在polyline上单击失效的问题,现在问题历史重演了。 上期发贴地址(有代码片段):https://developers.weixin.qq.com/community/develop/doc/000848030ac3b85077109d5ac66800
2023-09-08问题处理结果: 在skyline模式下,bind到map上的tap事件会执行两次,一次的e.detail返回屏幕坐标detail = { x, y },一次返回经纬度detail = { latitude, alititude },但在polyline上单击时,只会执行一次,且返回屏幕坐标detail = { x, y },如果按文档中写代码,有些系统接口对异常值作了处理,不会有问题,比如iOS 客户端的translateMarker滤掉了非法值,Android 没有,且不会报错信息,表面来看就是Android的手机在polyline上单击不执行某些api,其实是执行了,api内容认为是非法值,给忽略了,也没有提示,此处建议开发团队考虑针对异常值给出警告信息,方便小程序开发人员排除问题。 针对此种情况,解决文案是: 一、直接过滤detail = { x, y }的事件处理,仅针对detail = { latitude, alititude }的情况进行业务逻辑处理; 二、如果获取到detail = { x, y }用fromScreenLocation转换成经纬度再调用detail = { latitude, alititude }的逻辑进行处理; 三、针对两次事件执行,增加时间间隔判断标志,设定一个时间间隔阈值,使不管是detail = { x, y }还是detail = { latitude, alititude },仅执行一次。
在有polyline的Map上单击polyline,无法执行在Map上绑定的tap事件问题描述:在Map组件的polyline上单击,执行事件函数不能得到运行效果,而在空白区域点击,也是执行事件函数,可以得到运行效果,区别就是系统日志是否打印“调用事件函数”。而感观感受就是在Map的polyline上单击无法执行在Map上绑定的tap事件 代码具体如下: [图片] 在polyline上点击: [图片] 日志如下(表明代码执行了,输出了事件e的内容): [图片] 点击空白区域: [图片] marker闪跳到了点击的位置(本应是动画平移,这里似乎有问题),日志输入了事件e的内容,前后输出了两次,并且系统日志提示调用了onTapMap,之前在polyline上点击没有系统提示调用onTapMap [图片]
2023-07-27地图的bindmarkertap事件失效,bindcallouttap事件也失效 https://developers.weixin.qq.com/community/develop/doc/000c20ea5c0a907b6800ba9f166400?fromCreate=0 这个反馈也可能是本合集问题一个问题,都是出现错误日志后相关事件失效
Map组件marker显示问题等多个问题合集以下问题均是真机测试: 问题一:代码片段中,在地图空白区域点击,通过translateMarker本是平移marker,但目前是直接跳跃到新位置,是否是BUG? 问题二:在地图右下角“打开相机”,出现错误日志“camera._initNativeView has not implemented”,不是为何种情况引发,是否为某个隐藏的BUG? [图片] 问题三:下图中的错误日志:camera. _updatePosition has not implemented,是系统中报出的,仿佛是相机的报错信息,但在代码片段中没有复现出来,能告之问题的方向,我好在代码片段中去创造条件复现问题,或者本身是否就是一个隐含的BUG? [图片] 问题四:从相机页面返回地图页面,marker消失了,data的变量没有变,怎么marker就消失了呢,是否上述出现的错误日志有关,或本身就是BUG呢?
2023-07-27请开发团队尽快确认BUG,这样的问题真让人挠头!
MapContext.translateMarker调用失效MapContext.translateMarker调用失效,如下图,正常应该点空白区域,marker会随之平移位置,但。。。真机上不会平移!!!! [图片]
2023-07-26咋没有官方回得呢!
页面为skyline模式同时包含canvas和map时二次进入页面query无法在exec后回调?如标题,页面为skyline模式,若页面中同时包含有canvas和map,而在页面的获取canvas的实例,第一次进入页面正常,返回后再次进入页面则无法对exec里的函数进行回调。下图中错误日志是在第一次进入页面后,返回时的错误消息,出现这个错误后,再次进入页面就不能对exec的函数进行回调了。 [图片]
2023-07-24遇到与题主相同问题 小米手机Mi11Ultra,微信8.0.33,基础库2.30.2,系统版本MIUI14.0.6,安卓版本13 荣耀手机V9,微信8.0.33,基础库2.30.2,系统版本HarmonyOS2.0.0.150 手握手机竖立(正常拍照的姿势:摄像头面朝前方,屏幕正面朝向本人),并逐渐后仰(屏幕逐渐朝下),指南针的角度在逐渐后仰过程中会突变180度。 如正常平放(屏幕正面朝上)direction为20度,若将手机直接竖立起来(屏幕正面平面与桌面成90度角),direction的值会变大,向200度(20 + 180)变化的趋势,并将屏幕略微向下(即屏幕正面平面与桌面超过90度角),direction的值会变成200度。 如正常平放(屏幕正面朝上)direction为280度,若将手机直接竖立起来(屏幕正面平面与桌面成90度角),direction的值会变小,向100度(280 - 180)变化的趋势,并将屏幕略微向下(即屏幕正面平面与桌面超过90度角),direction的值会变成100度。 视觉感受就是手机方位没变,当手机竖立起来,大约与桌面成90度时direction的值会有频繁的大范围的变化(数字跳动的感觉)。 微信小程序的罗盘接口,获取方位的值,分别在屏幕朝上和屏幕朝下时,获取到的值相差180度,小程序的罗盘接口与华为或小米等手机系统自带的指南针应用输出的方位值不符,手机系统自带指南针应用在屏幕朝上和朝下时,获取到的值是一致的。 当手机拍照时,俯拍时通过小程序罗盘接口获取到的direction若是20度(北方),手机拍照方向不变,而仰拍时就会变成200度(南方)。手机面向正前方拍照,手机或俯或仰一点角度很正常,而获取的方向会有很大差别,其获取到的direction值基本不可用,此接口仅可用于手机平放时作为普通罗盘使用,应用范围受到较大限制。 希望小程序团队能正视这个接口的问题,保持与用户通常理解的罗盘输出数据一致。比如系统指南针应用在手机的前俯后仰过程中,不改变手机方向的前提下(没有绕着垂直于桌面的轴进行转动的情况),输出的方位角度不变, 即此情况下,小程序罗盘接口的direction输出值应保持不变(而非目前呈现的180度突变)。 代码片段如下: https://developers.weixin.qq.com/s/Xs7e54mp7DHz
面朝一个方向,手机绕x轴转动,onCompassChange的direction为什么变动特别大?面朝一个方向,安卓手机绕x轴转动,指南针的角度不是应该不变的吗?但是onCompassChange的direction变动特别大
2023-03-29animation.left(0).translateY(0).step({ duration: 3000 }).opacity(0.2).step({ duration: 3000 }).left(-80).scale(3).step({ duration: 3000 }); 或 animation = animation.left(0).translateY(0).step({ duration: 3000 }); animation = animation.opacity(0.2).step({ duration: 3000 }); animation = animation.left(-80).scale(3).step({ duration: 3000 }); 试试?!
wx.createAnimation设置多个step,后面的step会合并执行?let animation= wx.createAnimation({ timingFunction: 'ease', }) animation.left(0).translateY(0).step({ duration: 3000 }); animation.opacity(0.2).step({ duration: 3000 }); animation.left(-80).scale(3).step({ duration: 3000 }); this.setData({ animationData: animation.export(), }) js里这种写法,三个动效都会执行,但是第二个step总是和第三个step一起执行,是为什么
2019-09-05