我刚刚实现 ember-leaflet,遇到了一个问题。 我想创建 map 上的标记和折线列表。然后我想通过交互列表来处理这些层。
例如,当我单击与折线项对应的列表项时,我想在折线层上调用 editing.enable()
。我正在使用 ember-data 渲染标记和折线..
一些想法?我对 ember 很陌生,我不需要完整的代码,请指导我应该做什么,以使其正常工作并以“ember 方式”:)
谢谢
最佳答案
您需要向图层添加 id,然后可以在列表操作中使用 layers.findBy('id', id)
。
<a {{action 'enablePolyline' layerId}}>{{layerName}}</a>
在 ListView Controller 中创建您的操作,并且该 Controller 应该使用needs
来访问具有图层的 Controller 。从那里使用 find
或 findBy
获取正确的图层并进行任何修改,例如 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..
}
}
}
关于javascript - Ember-leaflet 如何从其他 View 与图层交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21580442/