Highmaps:如何检测 enableDoubleClickZoomTo 的目标?

Highmaps: how do I detect the target of enableDoubleClickZoomTo?

我在 Highmaps 中渲染了一张美国地图,enableDoubleClickZoomTo 设置为 true。我一直试图辨别用户双击缩放地图的状态,并想知道是否有隐藏在 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 双击一个状态后,我得到一个大对象,其中包含有关整个图表状态的信息。

如果我单击 select 一个状态,然后双击放大它,我会从 this.getSelectedPoints() 获得有关该状态的信息 - 但是,期望它是不合理的任何内容都将在缩放之前进行 selected。在某些地图中,它可能会被完全禁用。我将其包含在这里作为我最初希望从 redraw 获得的输出类型的演示。计算邮政编码、州名或索引来过滤原始系列是可以接受的。

我认为通过包装 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)

现场演示:http://jsfiddle.net/x8q1d1cs/8/