mapv
mapv copied to clipboard
多个图层点击事件
界面有点、线等多个图层,在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时会报错。
我们也遇到了同样的问题,方便说一下解决思路吗?
我们也遇到了同样的问题,绘制了线、面、点,各自都有各自的事件。然后点击了都一起触发了。尴尬
已解决
怎么处理的最后?