ElemeFE / react-amap

基于 React 封装的高德地图组件。AMap Component Based On React.
https://elemefe.github.io/react-amap/articles/start
MIT License
1.04k stars 151 forks source link

map click event对象问题 #44

Closed liuzhen88 closed 7 years ago

liuzhen88 commented 7 years ago

热力图Heatmap的dateSet属性 数据源data假设是:[{"lng":120.67185,"lat":31.283164,"count":4.0,"name":"如何能拿到这个name值?"},{"lng":116.385502,"lat":39.844509,"count":1.0,"name":"如何能拿到这个name值?"},{"lng":120.714894,"lat":31.318038,"count":1.0,"name":"如何能拿到这个name值?"}]

点击热力图区域时的回调函数: mapClickCallback(e){ let lng = e.lnglat.lng; let lat = e.lnglat.lat; console.log(e); }

如何在e对象中获取数据源中的name值?

ioslh commented 7 years ago

据我所知,高德好像还没实现「点击热力图区域时的回调函数」。你是怎么绑定事件的?

liuzhen88 commented 7 years ago

https://elemefe.github.io/react-amap/components/map 参考这里就可以了

ioslh commented 7 years ago

那你这是给地图绑定的事件,热力图是由另一个类创建的,在另一个 canvas 图层。两者没有关联的。上文中的 e 对象没法获取数据源中的 name 值。

liuzhen88 commented 7 years ago

有什么办法可以获取到name值吗?

ioslh commented 7 years ago

这个思路可以试试: 给地图绑定点击事件,点击后获取点击坐标,跟你数据源中的坐标比对,如果在一定范围之内,就取对应的 name 值。

liuzhen88 commented 7 years ago

这个可以,好思路。谢谢了