react 百度地图多变形点击反馈事件探讨

先看图
image.png

数据:
image.png

现在问题是,当点击多边形的时候

for (var i = 0; i < data.length; i++) {
...
  ply.addEventListener("click", getAttr);
        function getAttr(e) {
          var p = e.target;
          console.log(p.getPath())
        }
   }

现在是点击能取到点击后对应小区多边形的坐标数组p.getPath(),但我想获取是点击到哪个小区id跟name。难道用p.getPath()对比data[i].point中的数据?

阅读 2.4k
1 个回答

仅从你代码上下文判断,你只要把var i改成let i 形成块级作用域就能解决这个问题

for (let i = 0; i < data.length; i++) {
  ply.addEventListener('click', getAttr);

  function getAttr(e) {
    var p = e.target;
    console.log(p.getPath(), data[i]); // 这个data[i]就是地区点击的数据项
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题