2014-02-05 41 views
0

我只是在實現ember-leaflet,然後遇到了一個問題。 我想創建我在地圖上的標記和折線列表。然後我想通過交互列表來處理這些圖層。Ember-leaflet如何與其他視圖中的圖層進行交互

因此,例如,當我點擊與多段線項目相關的列表項目時,我想在折線圖層上調用editing.enable()。我正在使用燼數據來呈現標記和多義線btw ..

有些想法?我很新的灰燼,我不想要一個完整的代碼,只是引導我,請我應該爲了使其工作,在「餘燼方式」 :)

謝謝

回答

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.. 
    } 
    } 
} 
+0

這所需要的正是我;)謝謝 – Jakub

+0

我只想提一句,我不得不使用'''this.set( 'controller.polylineLayers',this._childLayers [1] ._ childLayers)' ''在mapView中設置我的控制器中的polylineLayers,因爲控制器沒有'圖層'方法。 – Jakub

相關問題