2014-02-05 6 views
0

나는 ember-leaflet을 구현 중이고 한 가지 문제가 발생했습니다. 지도에있는 마크와 폴리선 목록을 만들고 싶습니다. 그런 다음 목록을 상호 작용하여 해당 레이어를 처리하고 싶습니다.Ember-leaflet 다른보기에서 레이어와 상호 작용하는 방법

예를 들어 폴리 라인 항목에 해당하는 목록 항목을 클릭하면 폴리 라인 레이어에 editing.enable()을 호출하고 싶습니다. 마크와 폴리선을 렌더링하기 위해 ember-data를 사용 중입니다 ...

몇 가지 생각? 난 그냥 나에게 나는 그것이 작동하기 위해서는해야 무엇을하시기 바랍니다 안내 '를 타다 방법':

당신에게 당신을

답변

2

감사에서, 엠버, 나는 완전한 코드를 원하지 않는 아주 새로운 오전 레이어에 ID를 추가해야하고 목록 동작에 layers.findBy('id', id)을 사용할 수 있습니다.

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

목록 뷰 컨트롤러의 액션을 만들고 해당 컨트롤러는 레이어와 컨트롤러에 액세스 할 수 needs를 사용해야합니다. 거기에서 editing.enable()과 같이 올바른 레이어를 얻고 수정하려면 find 또는 findBy을 사용하십시오. 내가 필요로 한 정확히 무엇

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를 설정하려면 컨트롤러에 'layers'메소드가 없습니다. – Jakub

관련 문제