Javascript jointjs:获取标签的位置并将位置设置为链接段的中心
我想为链接添加一个标签,我喜欢这样做:Javascript jointjs:获取标签的位置并将位置设置为链接段的中心,javascript,jointjs,Javascript,Jointjs,我想为链接添加一个标签,我喜欢这样做: paper.on({ 'cell:pointerdblclick': function(cellView, event, x, y){ // Set label for this link if (cellView.model.isLink()) { var cellId = cellView.model.id, label = c
paper.on({
'cell:pointerdblclick': function(cellView, event, x, y){
// Set label for this link
if (cellView.model.isLink()) {
var cellId = cellView.model.id,
label = cellView.model.get('labels'),
content = 'Text';
if (label) { // edit existing label
$('#canvas').prepend('<input type="text" id="overlay" data-id="' + cellId + '" style="top: 20px; left: 20px;" value="' + content + '">');
$('#overlay').focus().select();
}
else { // create new label
cellView.model.label(0, {
position: .5,
attrs: {
rect: { fill: 'white' },
text: { text: 'my label' }
}
});
}
}
}
});
如果存在现有标签,将添加一个覆盖以编辑文本。为了让这个输入字段精确地覆盖标签,我需要知道它的位置。但是位置不是定义为纸张上的绝对位置,而是相对于起点的值。否则,我可以使用x和y值来定位输入字段
我使用曼哈顿风格的链接,这意味着可能有多个段,因为链接不是直线。现在,我想将标签始终放置在线段的中心。也可以将标签从一个段拖放到另一个段。但是标签属性位置使用链接的完整长度,而不仅仅是一个线段的长度。我不知道从哪里可以得到这些信息