当前位置: 首页 > news >正文

箭头函数返回值书写错误导致的bug

​ 首先,_plotPolygons 方法中的 polygon-label 类的文本位置是根据 _zx_zy 这两个缩放后的比例尺计算得到的。这意味着如果这些比例尺没有正确更新或者在缩放时没有被正确使用,那么标签的位置就会出错。

zoomed 函数中,你可以看到对于诸如 circle, .linestring-path, .polygon-path 的缩放处理是通过更新属性 cx, cy, d 来实现的。但是对于 text.polygon-label 的处理,似乎有些不一致:

.attr('x', (d) => {zx(d.data[0] ? d.data[0] : d[0])})
.attr('y', (d) => {zy(d.data[1] ? d.data[1] : d[1])});

在上述代码中,xy 属性的设置函数中使用了 {} 而不是直接返回计算结果,这将导致函数没有实际返回任何值,因此 xy 属性并未被正确设置。
正确的写法应该直接返回计算结果,例如:

.attr('x', (d) => zx(d.data[0] ? d.data[0] : d[0]))
.attr('y', (d) => zy(d.data[1] ? d.data[1] : d[1]));

同时,请确保 d.data[0]d.data[1] 正确指向了标签应该位于的坐标点。假设 d.data 是一个包含两个元素的数组,其中第一个元素是 x 坐标,第二个元素是 y 坐标。

最后,确保 _zx_zyzoomed 函数调用之前已经正确地被更新。如果这些比例尺在缩放事件发生时没有更新,那么标签的位置也会出错。

总结一下,解决位置错误的问题可能需要以下几个步骤:

  1. 确保在 zoomed 函数中正确更新 polygon-labelxy 属性。
  2. 检查 d.data 是否正确地代表了标签的坐标。
  3. 确保 _zx_zy 在缩放事件发生时被正确更新。

http://www.mrgr.cn/news/11346.html

相关文章:

  • 网络安全“两高一弱”科普
  • 慧能泰HUSB380A替代SC2151A同功能替换更有性价比
  • yield 详解
  • [Meachines] [Medium] Chatterbox AChat 缓冲区溢出 + MSF自动进程迁移+ icacls权限修改
  • [杂谈]错误的设计
  • 【C++】继承详解
  • ZNS SSD是不是持久缓存的理想选择?
  • 数据库基础知识
  • 企业级NoSql数据库Redis集群
  • 一条执行24s的SQL产生7小时主备延时(案例详解)
  • 建模模型时间说明
  • leetcode77:组合
  • 互联网盲盒小程序,提高企业市场竞争力
  • Golang | Leetcode Golang题解之第374题猜数字大小
  • 3D 打印的突破:热引发剂在立体光刻中的应用
  • Java学习笔记(01)抽象类与抽象方法
  • 鸿蒙Harmony编程开发:HTTPS服务端证书四种校验方式
  • 进程、线程的区别
  • 回归预测|基于Transformer-LSTM组合模型的数据回归预测Matlab程序 多特征输入单输出
  • Java把文件链接转成流,返回给前端下载