2

我正在使用 konvajs 创建框,可以在通过 ajax 双击数据库后拖动并保存 x,y 坐标,代码如下:

        layer.on('dblclick','Group',function(evt){
          var shape = evt.target;
          var bin_code = shape.name();
          var minibox = stage.findOne('#mbx_' + bin_code);
          var group = stage.findOne('#grp_'+ bin_code);
              $.ajax({
                url: '/iwms/_update_bin_coord',
                type: 'POST',
                dataType: 'json',
                data: JSON.stringify({'bin_code':bin_code,
                                      'x': group.x(),
                                      'y': group.y()}),
                contentType: "application/json; charset=utf-8",
                success: function(data){
                }
              });
              layer.draw();
        });

保存并重新加载浏览器后,坐标乘以 2,因此框不会保存在应有的位置。我尝试将 x,y 划分为 2,如果我的盒子初始坐标为 0,0,它会起作用,但如果我的盒装初始坐标最初不在 0,0 中,则此 group.x() 和 group.y() 给我一个绝对值最后坐标的值

4

1 回答 1

2

我现在解决了它,通过在https://konvajs.org/api/Konva.Node.html中使用 absolutePosition() 而不是组对象的 x() 和 y() 因为 x() 和 y() 将返回距离从原来的位置改变

于 2020-08-11T17:05:43.950 回答