我创建了一个这样的地图:
map = new Datamap({
element: document.getElementById('container'),
scope: 'usa',
geographyConfig: {
highlightBorderColor: '#bada55',
borderColor: '#444',
popupTemplate: function(geography, data){
d3.select(".datamaps-hoverover").style("height","auto").style("width","auto");
return '<div class="hoverinfo" id="hoverbox"><b>' + geography.properties.name +' '+choice+' rate: '+data.CDI +'</b></div>';
}
},
这样的效果是当鼠标悬停在状态上时,鼠标后面会有一个弹出窗口。
我想要实现的是在弹出窗口中创建并插入d3图表(以便它也跟随鼠标)。问题是因为popupTemplate需要返回一个字符串,所以我不能调用一个函数让d3在里面插入一个svg,然后创建一个图表。
我尝试在鼠标悬停时制作自定义事件,但它无法使用鼠标弹出窗口。
任何帮助都将不胜感激。