2016-08-04 4 views
1

리플렛과 함께 PolyLineDecorator를 사용하려하지만 애트리뷰트 데이터를 기반으로하는 경로/선을 상징 할 때 PolyLineDecorator를 계속 이해할 수 없다는 장애가 발생했습니다. 그러나 나를 위해 좋은 작품 속성을 기반으로 한 기호로 기호화

var polyline = L.polyline([...]).addTo(map); 
var decorator = L.polylineDecorator(polyline, { 
    patterns: [ 
     // defines a pattern of 10px-wide dashes, repeated every 20px on the line 
     {offset: 0, repeat: 20, symbol: L.Symbol.dash({pixelSize: 10})} 
    ] 
}).addTo(map); 
, 나는 하나의 GeoJSON 파일의 20 개 라인을 가지고 그리고 난 JSON 파일의 이름 필드에 따라 라인을 상징하고 싶습니다. 나는 이것을 다루는 곳 어디에서도 예를 찾을 수없는 것 같습니다. 누군가 관련 예제 나 문서를 가르쳐 줄 수 있습니까? 자신의 GeoJSON 파일로 각 행을 내보내는 방법과 비교해 볼 필요가있는 것 같습니다.

도움 주셔서 감사합니다.

답변

1

GeoJson onEachFeature() 방법을 사용해야합니다. 의 당신의 geoJson 구조는 것을 asume 보자

var geojsonFeatures = [ 
    { 
    "type": "Feature", 
    "properties": { 
     "name": "Trail 1", 
    }, 
    "geometry": { 
     "type": "Point", 
     "coordinates": [-104.99404, 39.75621] 
    } 
    }, 
    { 
    "type": "Feature", 
    "properties": { 
     "name": "Trail 2", 
    }, 
    "geometry": { 
     "type": "Point", 
     "coordinates": [-104.99404, 39.75621] 
    } 
    }  
]; 

당신은 feature.properties.name에 의해 기능의 이름 속성에 액세스 할 수 있습니다 : 답장을

L.geoJson(geojsonFeature, { 
    onEachFeature: function (feature, layer) { 
    if (feature.properties.name === '') { 
     L.polylineDecorator(layer, { 
     patterns: [ 
      {offset: 0, repeat: 20, symbol: L.Symbol.dash({pixelSize: 10})} 
     ] 
     }).addTo(map); 
    } else { 
     L.polylineDecorator(layer, { 
     patterns: [ 
      {offset: 0, repeat: 30, symbol: L.Symbol.dash({pixelSize: 20})} 
     ] 
     }).addTo(map); 
    } 
    }) 
}) 
+0

감사합니다. 예를 들어, Name = 'Trail 1'과 Name = 'Trail 2'와 같이 상징하는 방법에 대해서는 조금 혼란 스럽습니다. Id는 각자 자신의 이름을 기반으로 상징적으로 다르게 표현했습니다. 다시 한 번 고마워, 미안, 나는이 일에 아주 익숙하다. – unknownid

+0

미안하지만, 당신이 의미하는 바를 이해하지 못했습니다. 'Name = 'Trail 1'과 Name = 'Trail 2'는 무엇입니까? GeoJson 기능의 속성? –

+0

사과. 예, NAME은 geojson 파일의 필드이며 geojson 파일의 NAME 필드에서 고유 한 항목을 기반으로 각 행을 다르게 상징합니다. 정말 고맙다는 데 다시 한번 감사드립니다. – unknownid

관련 문제