Ember-leaflet如何与其他视图中的图层进行交互

时间:2014-02-05 14:47:02

标签: javascript ember.js ember-data leaflet

我正在实施ember-leaflet,我遇到了一个问题。 我想在地图上创建一个标记和折线列表。然后我想通过交互列表来处理这些层。

因此,例如当我点击与折线项目相对应的列表项时,我想在折线图层上调用editing.enable()。我正在使用余烬数据来渲染标记和折线btw ..

有些想法?我很贪婪,我不想要一个完整的代码,只是引导我,我应该做什么,以使其工作,并以'余烬的方式':)

谢谢

1 个答案:

答案 0 :(得分:2)

您需要在图层中添加ID,然后才能在列表操作中使用layers.findBy('id', id)

<a {{action 'enablePolyline' layerId}}>{{layerName}}</a>

在列表视图控制器中创建您的操作,该控制器应使用needs访问带有图层的控制器。从那里使用findfindBy来获取正确的图层并进行任何修改,例如editing.enable()

actions: {
  enablePolyline(id) {
    if (!id) {
      return;
    }

    let layers = this.get('layers');
    let layer = layers.findBy('id', id);

    if (layer) {
      // do what you need to do with layer..
    }
  }
}