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