2014-01-11 68 views
0

我在地图上添加了一个SLDSelect,我有一些WMS图层;选择的作品,但它考虑一个大的区域,而不是我点击的点,所以如果我点击一个点层,控制高亮所有点旁边的点击。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} 
         } 
        } 
       )