Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript d3js v5+topojson v3在后台访问对象的属性_Javascript_D3.js_Topojson - Fatal编程技术网

Javascript d3js v5+topojson v3在后台访问对象的属性

Javascript d3js v5+topojson v3在后台访问对象的属性,javascript,d3.js,topojson,Javascript,D3.js,Topojson,我正在寻找在背景中访问对象属性的提示。 事实上,通过鼠标悬停,我想揭示地理单元层ze.json的属性 然而,我的比例圆隐藏了这一层。 我并不真正了解所设想的程序,因为: 圆圈必须位于顶部 不透明并不能解决问题 也许我应该报告关于比例圆的信息。但是我怎样才能传递这些信息呢?不仅是人口,还有名字 比例圆 鼠标事件 这是我的代码:我不确定这是否能完全解决您的问题,但您是否尝试将指针事件:无CSS属性应用于圆?旁注:缩放可以通过g.attrtransform、d3.event.transform缩短,

我正在寻找在背景中访问对象属性的提示。 事实上,通过鼠标悬停,我想揭示地理单元层ze.json的属性

然而,我的比例圆隐藏了这一层。

我并不真正了解所设想的程序,因为:

圆圈必须位于顶部 不透明并不能解决问题 也许我应该报告关于比例圆的信息。但是我怎样才能传递这些信息呢?不仅是人口,还有名字

比例圆

鼠标事件


这是我的代码:

我不确定这是否能完全解决您的问题,但您是否尝试将指针事件:无CSS属性应用于圆?

旁注:缩放可以通过g.attrtransform、d3.event.transform缩短,最后一个的目的是什么,划一下.ze。在风格上更加明确,现在由于渲染人工制品,您可以看到边缘感谢您的提示!事实上,.append毫无意义。我有一个位移问题,当我点击+移动与鼠标延迟地图,但现在似乎消失了。
let rMax = d3.max(featureCollectionZe.features,(d)=>{return d.properties.pop;});

let propCircle = g.attr("class","prop_circle")
    .selectAll(".prop_circle")
    .data(featureCollectionZe.features)
    .enter()
    .append("circle")
    .attr("transform", (d)=>{return "translate(" + path.centroid(d) + ")";})
    .attr("r",(d)=>{return(Math.sqrt(d.properties.pop/rMax))*30;})
    .attr("fill","#ffa500")
    .attr("fill-opacity",0.8)
    .attr("stroke-width",1)
svgZe
    .on("mouseover",
        (e)=>{return document.getElementById("name").innerHTML=e.properties.nom_ze,
        document.getElementById("pop").innerHTML=e.properties.pop;}
    )
    .on("mouseout",
        (e)=>{return document.getElementById("name").innerHTML="&nbsp",
        document.getElementById("pop").innerHTML="&nbsp";}
    )