Javascript D3将投影应用于D3提示工具提示
我有一张美国地图,上面画着城市。我正在尝试使用d3提示为悬停时的城市提供工具提示。我遇到的问题是d3提示没有考虑投影,我不知道如何应用它 我使用的投影:Javascript D3将投影应用于D3提示工具提示,javascript,svg,d3.js,Javascript,Svg,D3.js,我有一张美国地图,上面画着城市。我正在尝试使用d3提示为悬停时的城市提供工具提示。我遇到的问题是d3提示没有考虑投影,我不知道如何应用它 我使用的投影: var projection = d3.geo.mercator() .scale(150) .translate([width / 2, height / 1.5]); 我通过以下方式将其应用于我的圆元素: .attr("cx", function(d) { return projection([d.Longitude, d.L
var projection = d3.geo.mercator()
.scale(150)
.translate([width / 2, height / 1.5]);
我通过以下方式将其应用于我的圆元素:
.attr("cx", function(d) {
return projection([d.Longitude, d.Latitude])[0];
})
.attr("cy", function(d) {
return projection([d.Longitude, d.Latitude])[1];
})
问题是d3 tip似乎没有采用x和y属性,它从发出事件的节点获取它们,并且似乎没有考虑到应用了投影;这对我来说毫无意义。我通常通过在d3中添加一个带有绝对位置的div并将其隐藏在主体中来进行工具提示 然后在元素上移动鼠标时,我将div移动到鼠标指针的位置并取消隐藏它。然后,一旦mouseout事件发生,我就隐藏div 这允许我控制X和Y以及工具提示的样式和文本 这里有一个很好的例子: