javascript - 在悬停时连接 React-Leaflet CircleMarker 和散点图点

标签 javascript reactjs d3.js react-leaflet

我有 GeoJSON 数据,我正在使用这些数据在 map 上使用 react-leafet 创建 CircleMarkers,并使用 D3.js 在其下方创建散点图。

我想将两者联系起来,这样当您将鼠标悬停在 CircleMarker 上时,它在图表上的匹配圆圈也会更改填充和描边颜色。

我试着给每个人一个独特的类,但这只会分别突出显示每个圆圈,而不是同时突出显示。

我不确定如何进行。我可以设置一个 ID 或使用每个键来执行此操作吗?

下面是我如何为 map 创建 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/

最佳答案

:悬停适用于您主动悬停的任何内容,因此在这种情况下它不起作用。

你可以在 circleMarker 上使用 onMouseOver 和 onMouseOut,我对 D3 不熟悉,但我确信它有类似的东西

<CircleMarker
      key={'cm-' + index}
      className={"myClass-" + index}
      center={coord}
      opacity={0.5}
      onMouseOver={(e) => e.target.setStyle({fillColor: 'green'})}
      onMouseOut={(e) => e.target.setStyle({fillColor: 'blue'})}
    >

应该让你朝着正确的方向开始

关于javascript - 在悬停时连接 React-Leaflet CircleMarker 和散点图点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46125698/

相关文章:

ios - 如何在 React Native 中实现单选按钮

javascript - store 改变后回流回调

javascript - JSON 映射上的用户输入到 Project

javascript - 使用 jquery 变量按宽度为 div 设置动画

javascript - jquery toggle img 单击并在单击时从本地存储中存储或删除 img id

javascript - 具有可拖动和可调整大小的撤消和重做功能

javascript - 如何向 d3 条形图添加工具提示?

c# - 如何从 JavaScript 中的 Base64 字符串获取 ZIP 文件?

javascript - PropTypes 给我一个字符串类型错误

javascript - d3.js动态样式填充只显示黑色条形图