2014-01-11 12 views
0

일부 WMS 레이어가있는 맵에 SLDSelect를 추가했습니다. 선택은 작동하지만 클릭하는 지점 만 큰 영역으로 간주하므로 Point 레이어를 클릭하면 클릭 한 지점 옆에있는 모든 지점이 강조 표시됩니다.SLDSelect (OpenLayers)가 너무 많은 포인트를 선택하고 있습니다.

new OpenLayers.Control.SLDSelect(
    OpenLayers.Handler.Click, 
    { 
     layers: [ ] // I add layers dinamically 
     , selectionSymbolizer: { 
      'Polygon': {fillColor: '#00FF66', stroke: false}, 
      'Line': {strokeColor: '#00FF33', strokeWidth: 2}, 
      'Point': {graphicName: 'square', fillColor: '#00FF00', pointRadius: 5} 
     } 
    } 
) 

가 어떻게 나는지도를 클릭하면 선택으로 간주 면적을 줄이기 위해 설정을 지정할 수 있습니다 여기에

내가 컨트롤을 만드는 데 사용되는 코드는?

내가 문제가 당신이 디스플레이 클래스를 설정하지 않는 생각 안녕 스테파노

답변

0

주셔서 감사합니다. 클릭하는 객체를 선택하기 위해 아래 코드를 선택해보십시오.

new OpenLayers.Control.SLDSelect(
        OpenLayers.Handler.Click, 
        { 
         displayClass: 'olControlSLDSelectPoint', 
         layers: [], 
         selectionSymbolizer: { 
          'Polygon': {fillColor: '#00FF66', stroke: false}, 
          'Line': {strokeColor: '#00FF33', strokeWidth: 2}, 
          'Point': {graphicName: 'square', fillColor: '#00FF00', pointRadius: 5} 
         } 
        } 
       )