收藏
回答

MapContext.translateMarker duration 平移与旋转如何分别计算?

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug MapContext.translateMarker 工具 8.0 2.4.0


            //平移

            console.log('平移开始', app.getBeijingTime().time,rotate);

            that.mapCtx.translateMarker({

                markerId: carMarkerID,

                destination: {

                    latitude: tcbDbRes.latitude,

                    longitude: tcbDbRes.longitude,

                },

                autoRotate: true,

                moveWithRotate: false,

                rotate,

                duration: 30000,

                animationEnd: function(animationEnd_e) {

                    console.log('平移结束', animationEnd_e,app.getBeijingTime().time);

                    that.showBus();//从云端读取新数据,供下一次平移动画

                },

                fail: function() {

                    that.showBus({

                        ifFirstTime: true,

                    });

                }

            })


看似是30秒后animationEnd才执行下一次的获取新数据,其实是不到1秒内就疯狂执行animationEnd函数。


请问,这是bug么?还是我用的不对?

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

2 个回答

  • 王建存_雄安未来城市地图
    王建存_雄安未来城市地图
    2021-02-16

    rotate的角度值也不稳定,有时候正常,有时候倒车(差180度),我的计算代码也没调整。

    2021-02-16
    有用 2
    回复
  • ^_^
    ^_^
    2021-03-19

    1.构建地图的marker时,属性是id且值为number;且要设置旋转中心点anchor: {x: 0.5, y: 0.5} 


    2.translateMarker入参中的autoRotate文档中说是必填参数,但实际是不要设置此参数,才能旋转


    3.旋转角度<180的顺时方向,否则逆时方向:360-角度,且该角度是目标角度,即再旋转同样角度是没有反应的,认为已经旋转到目标角度了(相对于


    marker的原始角度算起)

    2021-03-19
    有用
    回复
登录 后发表内容
问题标签