huiyan-fe / mapv

a library of geography visualization-地理信息可视化库

Home Page:http://mapv.baidu.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

多个图层点击事件

DCountry opened this issue · comments

commented

界面有点、线等多个图层,在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);
commented

已解决

请问怎么解决的?单页面应用,调用mapvLayer.destroy(); 再new mapv.baiduMapLayer生成新的对象,click时会报错。

我们也遇到了同样的问题,方便说一下解决思路吗?

我们也遇到了同样的问题,绘制了线、面、点,各自都有各自的事件。然后点击了都一起触发了。尴尬

已解决

怎么处理的最后?