浮标小手解决方案

该博客介绍了如何实现浮标小手的解决方案,通过摄像头位置判断点是否在范围内,并根据触发范围的远近设定绘制顺序。关键步骤包括逻辑提取、筛选优先绘制的手指标志,以及在遍历结束后确定需要绘制的手指点。博客内容涉及点的判断、距离计算和条件控制,旨在优化浮标显示效果。
摘要由CSDN通过智能技术生成

浮标小手解决方案


  • 用摄像头位置判断是否在范围内

  • 用触发范围远近标识先后顺序

    • 需要将判断触发范围的逻辑提取出来(目前是在每个点中进行判断以及绘制,不好做全体判断)

      • 在spot遍历后label初始化类后进行筛选优先绘制手指标志

        let label = new Label(spot.uuid, spot.name, "XXX米", menuItem.buoyIcon || menuItem.imageSelected, spot.x, spot.y, null);

  • 实现代码:_needDrawFinger代表需要画手指(单个点)_drawFinger控制是否绘制手指

    componets/nav/nav.js页面调用renderer.setLabels(labels)时内部调用this._calcPoints(this.labels);并传入labels进行遍历调用labels对象的_calc()方法同时调用_calcDistance()方法。在_calcDistance()方法中对最小值进行运算,在中间插入_needDrawFinger的判断表示当前点是否需要画手指的点,在遍历结束后.then调用等待遍历结束拿到_needDrawFinger。再次遍历labels,将其中_needDrawFinger=true的点过滤出来,再判断是否为触发过的点位,再判断是否所有距离里最小的点,获取其id并把单个点的_drawFinger设置为true。最后遍历labels查看是否需要绘制手指

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值