У меня есть данные GeoJSON, которые я использую для создания CircleMarkers с реагирующим листом на карте и с помощью D3.js для создания точечной диаграммы под ним.
Я хочу связать их так, чтобы при наведении указателя мыши на CircleMarker соответствующий круг на диаграмме также менял цвет заливки и обводки.
Я пытался дать каждому уникальный класс, но это выделяет каждый круг отдельно, а не одновременно.
Я не уверен, что делать дальше. Могу ли я установить идентификатор или использовать каждый ключ для этого?
Вот как я создаю CircleMarkers для карты и круги для диаграммы:
const chartDots = pointsData.features.map( (pt, index) => {
return (
<circle
key={"circle-" + index}
className={"myClass-" + index}
fill="dodgerBlue"
cx={xScale(pt.properties.value1)}
cy={yScale(pt.properties.value2)}
opacity={0.5}
r={10}
>
<title>Name: {pt.properties.name}</title>
</circle>
)
})
const myPoints = pointsData.features.map( (pt, index) => {
const coord = [pt.geometry.coordinates[1], pt.geometry.coordinates[0]]
return (
<CircleMarker
key={'cm-' + index}
className={"myClass-" + index}
center={coord}
opacity={0.5}
>
<Popup>
<span>{pt.properties.name}</span>
</Popup>
</CircleMarker>
)
})
Ссылка на полный код на jsfiddle: https://jsfiddle.net/mendoza_line/39n4rs4q/