1

我将 Leaflet 和 Leaflet-geoman 与 wfs-t 结合使用来创建可编辑的地图对象。我有一个类 EditMap,它有一个传单地图作为属性。我正在尝试在此地图上为每个班级收听“pm:create”事件。这是我的代码:

class EditMap {
    constructor(map){
        this.map = map;//Leaflet map
    }
    this.map.on('pm:create', e => {
        console.log('Feature created');
    });
}

我收到错误 Uncaught SyntaxError: Unexpected token '.' 在这条线上:

this.map.on('pm:create', e => {

我希望我错过了一些简单的东西。我的基本问题归结为:如何监听对象属性上的事件?

4

1 回答 1

0

在错误的地方

你正在使用一个类,所以你可以这样做:

class EditMap {
  constructor(map) {
    this.map = map;

    this.map.on('pm:create', this.pmCreate)
  }

  pmCreate(e) {
    console.log('Feature created');
  }
}

或者只是这个;但会在您添加其他侦听器时快速填写:

class EditMap {
  constructor(map) {
    this.map = map; //Leaflet map

    this.map.on('pm:create', e => {
      console.log('Feature created');
    });
  }
}
于 2020-09-03T00:22:00.093 回答