以下代码片段将 d3.geo.circle() 对象添加为 svg 元素中的路径元素。代码是:
var g = svg.append("g");
var circles = g.selectAll("path.circle");
var circle = d3.geo.circle();
circles = circles.data(d3.values(data));
circles
.enter()
.append("path");
.datum(function(d) {
return circle
.origin([d.lon, d.lat])
.angle(0.2)();
})
.attr("class", "circle")
.attr("d", path);
现在,我想在这些圆圈上添加一个 mouseOver 事件,它将记录(打印)经纬度信息,我无法访问:
g.selectAll('path.circle')
.on("mouseover", function(d,i) {
console.log(d.lat + "-" + d.lon);
});
我知道“d”代表 d3.geo.circle 对象,但我不知道如何访问数据 [i]?