Highcharts Highmaps向下展开:隐藏级别2的标签工具提示
我已经实现了地图的向下搜索(点击该区域时会显示迷你图表),效果非常好。 我有一个小问题:Highcharts Highmaps向下展开:隐藏级别2的标签工具提示,highcharts,Highcharts,我已经实现了地图的向下搜索(点击该区域时会显示迷你图表),效果非常好。 我有一个小问题: 在更高的级别上,当鼠标位于区域上方时,信息将显示在工具提示中(如果单击,将显示迷你图表)。如果我将鼠标悬停在区域名称标签上,工具提示将显示“单击以向下展开”。在这个层次上一切都很好 在子级别上(单击较高级别地图中的区域名称时),将显示较低级别的地图,并以与较高级别相同的方式显示信息:将鼠标悬停在区域上->工具提示中显示信息(这就是我想要的)。但当鼠标悬停在区域名称上时,会再次显示带有“单击向下钻取”的工
- 在更高的级别上,当鼠标位于区域上方时,信息将显示在工具提示中(如果单击,将显示迷你图表)。如果我将鼠标悬停在区域名称标签上,工具提示将显示“单击以向下展开”。在这个层次上一切都很好
- 在子级别上(单击较高级别地图中的区域名称时),将显示较低级别的地图,并以与较高级别相同的方式显示信息:将鼠标悬停在区域上->工具提示中显示信息(这就是我想要的)。但当鼠标悬停在区域名称上时,会再次显示带有“单击向下钻取”的工具提示,我希望在该级别上不会显示任何内容(因为我无法再次向下钻取)。
例如
“奥弗涅-罗恩阿尔卑斯山”上的clic:显示法国地区地图。现在检查一下标签“Ain”:我不希望在这个标签上显示工具提示(只希望在标签周围的蓝色上显示工具提示)。
如果我尝试禁用工具提示,则不会显示更多的工具提示(也不会显示信息工具提示,也不会显示“clic to drilldown”)。我希望信息的工具提示继续显示,但不希望在此级别显示“clic向下钻取”。
我试图用这段代码实现我所期望的接近行为,但它修复了工具提示的位置。我希望工具提示继续显示在鼠标光标附近
tooltip: { useHTML: true, pointFormat: '<span class="f32">'+level+'</span>', positioner: function () { var content = this.label.text.textStr; if(content.indexOf('<span class="f32">2</span>')>0) return { x: 0, y: -100 }; else return { x: 0, y: 250}; } },
工具提示:{ 是的, 点格式:“”+级别+“”, 定位器:功能(){ var content=this.label.text.textStr; if(content.indexOf('2')>0) 返回{x:0,y:-100}; 其他的 返回{x:0,y:250}; } },
我认为您应该使用
tooltip.formatter
(而不是嵌套在series config对象中的tooltip config)回调,该回调允许设置显示的工具提示格式
演示:
工具提示:{
格式化程序(){
console.log(这个)
if(this.series.mapTitle){
var hovervoces=this.hovervoces;//仅由饼图使用
var libRegion=this.LIB_REGION;
if(libRegion==未定义){
libRegion=this.point.properties.name;
}
返回“+libRegion+”
+
Nb_Femmes:“+unit_pre+Highcharts.numberFormat(this.point.value,mes_prec)+unit_suf+
“
单击以显示更多信息”;
}否则{
如果(级别==1){
返回此.series.name
}否则{
返回错误
}
}
}
},
API:此处的操作是否满足您的要求,还是要禁用整个工具提示?谢谢你的回答,我已经找到了第一个解决方案,但是我更喜欢禁用整个工具提示(而不是“空白”工具提示。你认为这可能吗?
tooltip: {
formatter() {
console.log(this)
if (this.series.mapTitle) {
var hoverVotes = this.hoverVotes; // Used by pie only
var libRegion = this.LIB_REGION;
if (libRegion == undefined) {
libRegion = this.point.properties.name;
}
return "<b>" + libRegion + "</b><br/>" +
"<hr/><b><i>Nb_Femmes : </b></i> " + unit_pre + Highcharts.numberFormat(this.point.value, mes_prec) + unit_suf +
"<br/><i>Click to display more informations</i>";
} else {
if (level === 1) {
return this.series.name
} else {
return false
}
}
}
},