Сделал вот так: добавил data.region и повесил обработчик событий mouseover и mouseout,
P.S в geojson properties.name должен совпадать с data.region
файл geojson:
"properties": {
"name": "Россия"
}
const data = [
{ name: 'Реутов', value: 38 ,region:"Россия"},
{ name: 'Санкт-Петербург', value: 10 ,region:"Россия"},
];
const geoCoordMap = {
'Реутов': [37.8575,55.7611],
'Санкт-Петербург': [30.3141300, 59.9386300],
};
const convertData = function (data) {
var res = [];
for (var i = 0; i < data.length; i++) {
var geoCoord = geoCoordMap[data[i].name];
if (geoCoord) {
res.push({
name: data[i].name,
region: data[i].region,
value: geoCoord.concat(data[i].value)
});
}
}
return res;
};
chart.on('mouseover', { seriesIndex: 0 }, function (event) {
console.log(event)
chart.dispatchAction({
type: 'highlight',
geoIndex: 0,
name: event.data.region
});
});
chart.on('mouseout', { seriesIndex: 0 }, function (event) {
chart.dispatchAction({
type: 'downplay',
geoIndex: 0,
name: event.data.region
});
});