У меня есть карта Соединенных Штатов, отрисованная в Highmaps, где enableDoubleClickZoomTo
установлено на true
. Я застрял, пытаясь определить, в каком состоянии пользователь дважды щелкнул, чтобы увеличить карту, и задался вопросом, есть ли информация, скрытая в событии redraw
, которая помогла бы мне вычислить это.
Вот небольшая часть проблемы: 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()
, однако неразумно ожидать, что что-либо будет выбрано до масштабирования. На некоторых картах он может быть вообще отключен. Я включил его сюда как демонстрацию типа вывода, который я изначально надеялся получить от redraw
. Допустимо вычисление почтового индекса, названия штата или индекса для фильтрации исходной серии.