首页 > 解决方案 > 如何修复节点相对于屏幕的坐标?

问题描述

我需要将一个节点附加到屏幕上的一个点。平移和缩放时需要移动该节点,使其不改变其相对于屏幕的位置和大小。也就是说,它看起来像一个在平移和缩放时不会改变的菜单按钮。

一些尝试通过计算cy.pan()和来实现这一点node.position()node.relativePosition()并没有给出预期的结果。

标签: cytoscape.js

解决方案


对不起,我错误地使用了我调用的参数。我没有正确解释它们的含义。此代码工作正常。

cy.on('pan', function(){
    pos = cy.pan();
    rel = {x: 20, y: 20};
    zoom = cy.zoom();
    node.position({
        x: (rel.x - pos.x) / zoom,
        y: (rel.y - pos.y) / zoom
    });
});

推荐阅读