作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一张在 Highmaps 中渲染的美国 map ,其中 enableDoubleClickZoomTo
设置为 true
。我一直试图辨别用户双击缩放 map 的状态,并想知道 redraw
事件中是否隐藏了可以帮助我计算此值的信息。
这是这个问题的一个 fiddle :http://jsfiddle.net/tjnicolaides/x8q1d1cs/
$('#container').highcharts('Map', {
chart: {
events: {
redraw: function (event) {
console.log(event);
console.log(this.getSelectedPoints());
}
}
},
mapNavigation: {
enabled: true,
enableDoubleClickZoomTo: true
},
series: [{
data: data,
mapData: Highcharts.maps['countries/us/us-all'],
joinBy: 'hc-key',
allowPointSelect: true,
states: {
hover: {
color: '#BADA55'
},
select: {
color: 'purple'
}
}
}]
});
当我双击某个状态后 console.log event
时,我会得到一个大对象,其中包含有关整个图表状态的信息。
如果我单击选择一个状态,然后双击放大它,我会从 this.getSelectedPoints()
获取有关该状态的信息 - 但是,这是不合理的期望在缩放之前将选择任何内容。在某些 map 中,它可能会被完全禁用。我将其放在这里是为了演示我最初希望从重绘中获得的输出类型。计算邮政编码、州名称或索引来过滤原始系列是可以接受的。
最佳答案
我认为通过包装 Pointer.onContainerDblClick
来检测该点的最简单方法,如下所示:
(function (H) {
H.wrap(H.Pointer.prototype, "onContainerDblClick", function (p, event) {
console.log(this.chart.hoverPoint); // hovered point - may not exist, e.g. when clicking on the blank space
p.call(this, event);
});
})(Highcharts)
关于javascript - Highmaps:如何检测enableDoubleClickZoomTo 的目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32724350/
我是一名优秀的程序员,十分优秀!