0

いくつかの WMS レイヤーがあるマップに SLDSelect を追加しました。選択は機能しますが、クリックしたポイントだけではなく大きな領域が考慮されるため、ポイントレイヤーをクリックすると、クリックしたポイントの隣にあるすべてのポイントがコントロールによって強調表示されます。

コントロールの作成に使用したコードは次のとおりです。

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}
        }
    }
)

マップをクリックしたときに選択と見なされる領域を減らすために設定を指定するにはどうすればよいですか?

さようならステファノありがとう

4

1 に答える 1

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}
                        }
                    }
                )
于 2014-02-05T01:08:28.890 に答える