基于SLD的WMS图层选择 - 如何设置点击点的新样式?

时间:2013-05-01 09:59:58

标签: javascript openlayers geoserver

我试图效仿这个例子: http://openlayers.org/dev/examples/SLDSelect.html

当我点击这个点时,它的颜色应该改变,这是我的一段代码:

control =  new OpenLayers.Control.SLDSelect(
                    OpenLayers.Handler.Click,
                    {
                        //displayClass: 'olControlClick',
                        layers: [city]
                    }
                )

                map.addControl(control);
                 control.activate();

仍然无法弄清displayClass的重点。以及如何分配新颜色。

1 个答案:

答案 0 :(得分:2)

displayClass是SLDSelect控件处于活动状态时使用的css类。要使用它并查看正在修改的html元素,请尝试像下面这样设置类:

   .olControlClick {
       cursor: crosshair;
       background-color: yellow;
       border: 5px solid green;
   }

刷新浏览器页面时,可能在图层渲染时看到黄色背景的闪光,你会看到一个十字光标,你会看到div上的绿色大边框使用css类。

当SLDSelect控件处于活动状态时,使用此选项修改map div的特征。

您可以通过在SLDSelect控件上调用activate()和deactivate()来解决此问题。当控件未激活时(在调用deactivate()之后),您将看不到css样式的工件(没有绿色边框,没有十字光标)。当控件处于活动状态时,您将看到这两个样式属性(边框和光标)。

This example可能很有用,请务必查看来源以查看javascript。