現在、API を使用して、Google マップの上に Protovis で描画された点がたくさんあります。次のようになります: http://mbostock.github.com/protovis/ex/oakland.html
しかし、点だけが欲しいのではなく、点と点を結ぶ線でネットワークを示したいのです。nodesプロパティと pv.Dotおよびlinkspv.Line クラスを使用して、Google マップで Protovis Network Layout (pv.Layout.Network) を使用できると考えました。ノードはマップに表示されますが、リンクは表示されません。他の 2 人のユーザーが既に Protovis ディスカッション グループで同様の質問をしていますが、誰も答えていません。シンプルであるべきだと思われます。
私のコードは基本的に、上記のオークランドの犯罪発見の例と同じですが、コードの「視覚化をレンダリングする」部分を次のように変更しました。
p = new pv.Panel()
.canvas(c)
.left(-x.min)
.top(-y.min);
var pn = p.add(pv.Layout.Network)
.nodes(this.exampleNetwork.nodes)
.links(this.exampleNetwork.links);
pn.link.add(pv.Line)
pn.node.add(pv.Dot)
.left(function() pixels[this.index].x)
.top(function() pixels[this.index].y)
p.render();
これは、視覚化にネットワーク レイアウトを追加する部分です。ここでも、ノードは正常に動作していますが、リンクが表示されません。助けていただければ幸いです!
更新: ネットワーク レイアウトを使用する Protovis の Force-Directed Layout の例を次に示します: http://mbostock.github.com/protovis/ex/force.html。はい、私は Protovis が少し時代遅れであることを知っています。
私のデータがどのように見えるかの例を次に示します。
var exampleNetwork = {
nodes:[
{
nodeName : "Example1",
nodeValue : 100,
group : 0,
lat : 40.726446,
lon : -74.007339
},
{
nodeName : "Example2",
nodeValue : 2048,
group : 0,
lat : 34.073137,
lon : -118.248596
}
],
links:[
{source:0, target:1, value:5}
]
};