以编程方式更改 Highmaps 中的形状颜色
Change shape color in Highmaps programmatically
我有一张用 Highmaps 库制作的地图,由两个系列组成:行政边界和城市。
在它的旁边有一个所有管理员的列表,并且在每个项目上都有一个鼠标悬停事件。
当鼠标悬停在管理文本上时,我试图在不 selecting 的情况下 突出显示地图上的相对形状。
我已经能够使用 highmaps 的 select 功能来实现它,但是我不能再使用它了,因为我还启用了 multiselection我将它用于其他目的。
所以我想做的是 manually/programmatically 更改系列中特定点的颜色。
这是在列表项上的鼠标悬停事件中执行的代码
$( "ul#admins li" ).mouseover(function() {
var adminCode = $(this).attr('id')); //retrieve the adminCode
var chart = $('#mapContainer').highcharts();
for (var i = 0; i < chart.series[0].data.length; i++) {
if (chart.series[0].data[i].Code == adminCode) {
//I've got the map element to highlight...
//..but how I can do change its color?
//before I was using this method, selecting directly, but now
//I don't want to select it, only change its color.
chart.series[0].data[i].select(true, false);
break;
}
}
});
您应该可以使用 Point.update() 来更改地图中特定国家/地区的颜色:
function(chart) {
$('.btn').click(function() {
chart.series[1].data[0].update({
color: 'red'
})
})
}
例如,我正在更改地图系列中第一个点的颜色。
在这里您可以看到它如何工作的示例:http://jsfiddle.net/x14dm93u/
我有一张用 Highmaps 库制作的地图,由两个系列组成:行政边界和城市。 在它的旁边有一个所有管理员的列表,并且在每个项目上都有一个鼠标悬停事件。 当鼠标悬停在管理文本上时,我试图在不 selecting 的情况下 突出显示地图上的相对形状。 我已经能够使用 highmaps 的 select 功能来实现它,但是我不能再使用它了,因为我还启用了 multiselection我将它用于其他目的。
所以我想做的是 manually/programmatically 更改系列中特定点的颜色。
这是在列表项上的鼠标悬停事件中执行的代码
$( "ul#admins li" ).mouseover(function() {
var adminCode = $(this).attr('id')); //retrieve the adminCode
var chart = $('#mapContainer').highcharts();
for (var i = 0; i < chart.series[0].data.length; i++) {
if (chart.series[0].data[i].Code == adminCode) {
//I've got the map element to highlight...
//..but how I can do change its color?
//before I was using this method, selecting directly, but now
//I don't want to select it, only change its color.
chart.series[0].data[i].select(true, false);
break;
}
}
});
您应该可以使用 Point.update() 来更改地图中特定国家/地区的颜色:
function(chart) {
$('.btn').click(function() {
chart.series[1].data[0].update({
color: 'red'
})
})
}
例如,我正在更改地图系列中第一个点的颜色。
在这里您可以看到它如何工作的示例:http://jsfiddle.net/x14dm93u/