我使用d3.js v4来构建力导向图,就像在基本示例中一样。我还创建了输入字段,用户可以在其中键入节点名称。然后我搜索匹配的circle
元素,如下所示:
findNode(name) {
let theNode = this.d3Svg.selectAll('circle').filter(function(d) {
return d.name == name;
});
}
之后我想将视口移动到foundNode
。我怎么能这样做?
试过这个:
this.d3.zoom().translateTo(theNode, theNode.x, theNode.y);
但没有任何反应。以下是console.log('theNode: ',theNode)
所说的内容:
我还发现similar question,但在那里使用了一些旧版本的d3。
答案 0 :(得分:0)
Here是解决方案。 以下代码将视口带到中心:
getContextById(childId) {
let context = this.proxyContexts.get(childId);
if (!context) {
let error = new Error("WebExtension context not found!");
Cu.reportError(error);
throw error;
}
return context;
}