Open DCountry opened 3 years ago
界面有点、线等多个图层,在options中通过methods添加了点击事件,点击屏幕时,事件被传递到了多个图层,触发了多个回调函数。怎么为每个图层单独定义点击事件呢?
var lineOptions = { strokeStyle: 'rgba(255, 250, 50, 0.8)', shadowColor: 'rgba(255, 250, 50, 1)', shadowBlur: 20, lineWidth: 2, zIndex: 100, draw: 'simple', methods: { // 一些事件回调函数 click: function(item) { // 点击事件,返回对应点击元素的对象值 console.log('Line Clicked') } } } var lineLayer = new mapv.baiduMapLayer(map, lineDataSet, lineOptions); var pointOptions = { fillStyle: 'rgba(254,175,3,0.7)', shadowColor: 'rgba(55, 50, 250, 0.5)', shadowBlur: 10, size: 5, zIndex: 10, draw: 'simple', methods: { // 一些事件回调函数 click: function(item) { // 点击事件,返回对应点击元素的对象值 console.log('Point Clicked') } } }; var pointDataSet = new mapv.DataSet(pointData); var pointLayer = new mapv.baiduMapLayer(map, pointDataSet, pointOptions);
已解决
请问怎么解决的?单页面应用,调用mapvLayer.destroy(); 再new mapv.baiduMapLayer生成新的对象,click时会报错。
我们也遇到了同样的问题,方便说一下解决思路吗?
我们也遇到了同样的问题,绘制了线、面、点,各自都有各自的事件。然后点击了都一起触发了。尴尬
怎么处理的最后?
界面有点、线等多个图层,在options中通过methods添加了点击事件,点击屏幕时,事件被传递到了多个图层,触发了多个回调函数。怎么为每个图层单独定义点击事件呢?