Charts 谷歌地图-谷歌可视化

Charts 谷歌地图-谷歌可视化,charts,google-visualization,organization,orgchart,Charts,Google Visualization,Organization,Orgchart,我已经使用orgchart创建了一个图表,如下所示。通过mysql表中存储的数据生成的图表(使用php) 我的问题是,我想显示每个节点的深度级别以及其他详细信息。怎么做 示例: 食品->一级 蔬菜和肉类->2级 蔬菜1、蔬菜2和肉类1->3级 **有api方法(data.getSelection.row)来获取所选节点的行(深度)。但它似乎总是给出所选节点的索引,而不是所选节点的行** 不确定您想如何显示它们,但以下是我的想法: var depth = {}; // here we

我已经使用orgchart创建了一个图表,如下所示。通过mysql表中存储的数据生成的图表(使用php)

我的问题是,我想显示每个节点的深度级别以及其他详细信息。怎么做

示例:
食品->一级
蔬菜和肉类->2级
蔬菜1、蔬菜2和肉类1->3级


**有api方法(
data.getSelection.row
)来获取所选节点的行(深度)。但它似乎总是给出所选节点的索引,而不是所选节点的行**

不确定您想如何显示它们,但以下是我的想法:

      var depth = {}; // here we store node depths
      google.visualization.events.addListener(chart, 'ready', function () {
          for (var i = 0; i < data.getNumberOfRows(); i++) {
              depth[i] = 0; // we iniialize all in 0 depth
          }
          for (var i = 0; i < data.getNumberOfRows(); i++) { // for each row
              var childs = chart.getChildrenIndexes(i); // we check its descendants
              for (var child = 0; child < childs.length; child++) {
                  depth[childs[child]] += depth[i] + 1; // and add the parents depth+1
              }
          }
          console.log(depth) // here we have already all nodes depth
      });
      google.visualization.events.addListener(chart, 'select', function () {
          if (chart.getSelection().length > 0) {
              var node_row = chart.getSelection()[0].row;
              console.log(depth[node_row]) // now just show the depth of selected node
          }
      })
      chart.draw(data, {
          allowHtml: true
      });
var-depth={};//这里我们存储节点深度
google.visualization.events.addListener(图表'ready',函数(){
对于(var i=0;i0){
var node_row=chart.getSelection()[0]。行;
log(depth[node\u row])//现在只显示所选节点的深度
}
})
图表绘制(数据、{
allowHtml:是的
});

工作小提琴:

非常感谢你的朋友。这是我真正需要的。我还有一件事要问。绘制图表时,是否有方法显示节点内的深度级别以及其他详细信息?到目前为止,它必须单击以获取深度级别。请看这张图片了解想法@嗜酒狂给你。只是在第一次绘制后更改了值,删除listener以避免无限循环,然后重新绘制您是非常棒的朋友。非常好用。再次感谢。